home *** CD-ROM | disk | FTP | other *** search
/ Amiga Format CD 24 / Amiga Format AFCD24 (Feb 1998, Issue 108).iso / -in_the_mag- / emulation / macos / cpu68000.cpt.hqx / CPU68000 / CPU / cpu4.c < prev    next >
C/C++ Source or Header  |  1997-06-16  |  91KB  |  2,750 lines

  1. #include "sysconfig.h"
  2. #include "sysdeps.h"
  3. #include "config.h"
  4. #include "options.h"
  5. #include "machdep/m68k.h"
  6. #include "my_memory.h"
  7. #include "custom.h"
  8. #include "readcpu.h"
  9. #include "newcpu.h"
  10. #include "compiler.h"
  11. #include "cputbl.h"
  12. #if !defined (MEMFUNCS_DIRECT_REQUESTED) || defined (DIRECT_MEMFUNCS_SUCCESSFUL)
  13. void REGPARAM2 CPU_OP_NAME(_4000)(uae_u32 opcode) /* NEGX */
  14. {
  15.     uae_u32 srcreg = (opcode & 7);
  16. {{    uae_s8 src = m68k_dreg(regs, srcreg);
  17. {    uae_u32 newv = 0 - src - (XFLG ? 1 : 0);
  18. {    int flgs = ((uae_s8)(src)) < 0;
  19.     int flgo = ((uae_s8)(0)) < 0;
  20.     int flgn = ((uae_s8)(newv)) < 0;
  21.     VFLG = (!flgs && flgo && !flgn) || (flgs && !flgo && flgn);
  22.     XFLG = CFLG = (flgs && !flgo) || (flgn && (!flgo || flgs));
  23.     if (((uae_s8)(newv)) != 0) ZFLG = 0;
  24.     NFLG = ((uae_s8)(newv)) < 0;
  25.     m68k_dreg(regs, srcreg) = (m68k_dreg(regs, srcreg) & ~0xff) | ((newv) & 0xff);
  26. }}}}}
  27. void REGPARAM2 CPU_OP_NAME(_4010)(uae_u32 opcode) /* NEGX */
  28. {
  29.     uae_u32 srcreg = (opcode & 7);
  30. {{    uaecptr srca = m68k_areg(regs, srcreg);
  31.     uae_s8 src = get_byte(srca);
  32. {    uae_u32 newv = 0 - src - (XFLG ? 1 : 0);
  33. {    int flgs = ((uae_s8)(src)) < 0;
  34.     int flgo = ((uae_s8)(0)) < 0;
  35.     int flgn = ((uae_s8)(newv)) < 0;
  36.     VFLG = (!flgs && flgo && !flgn) || (flgs && !flgo && flgn);
  37.     XFLG = CFLG = (flgs && !flgo) || (flgn && (!flgo || flgs));
  38.     if (((uae_s8)(newv)) != 0) ZFLG = 0;
  39.     NFLG = ((uae_s8)(newv)) < 0;
  40.     put_byte(srca,newv);
  41. }}}}}
  42. void REGPARAM2 CPU_OP_NAME(_4018)(uae_u32 opcode) /* NEGX */
  43. {
  44.     uae_u32 srcreg = (opcode & 7);
  45. {{    uaecptr srca = m68k_areg(regs, srcreg);
  46.     uae_s8 src = get_byte(srca);
  47. {    m68k_areg(regs, srcreg) += areg_byteinc[srcreg];
  48. {    uae_u32 newv = 0 - src - (XFLG ? 1 : 0);
  49. {    int flgs = ((uae_s8)(src)) < 0;
  50.     int flgo = ((uae_s8)(0)) < 0;
  51.     int flgn = ((uae_s8)(newv)) < 0;
  52.     VFLG = (!flgs && flgo && !flgn) || (flgs && !flgo && flgn);
  53.     XFLG = CFLG = (flgs && !flgo) || (flgn && (!flgo || flgs));
  54.     if (((uae_s8)(newv)) != 0) ZFLG = 0;
  55.     NFLG = ((uae_s8)(newv)) < 0;
  56.     put_byte(srca,newv);
  57. }}}}}}
  58. void REGPARAM2 CPU_OP_NAME(_4020)(uae_u32 opcode) /* NEGX */
  59. {
  60.     uae_u32 srcreg = (opcode & 7);
  61. {{    m68k_areg(regs, srcreg) -= areg_byteinc[srcreg];
  62. {    uaecptr srca = m68k_areg(regs, srcreg);
  63.     uae_s8 src = get_byte(srca);
  64. {    uae_u32 newv = 0 - src - (XFLG ? 1 : 0);
  65. {    int flgs = ((uae_s8)(src)) < 0;
  66.     int flgo = ((uae_s8)(0)) < 0;
  67.     int flgn = ((uae_s8)(newv)) < 0;
  68.     VFLG = (!flgs && flgo && !flgn) || (flgs && !flgo && flgn);
  69.     XFLG = CFLG = (flgs && !flgo) || (flgn && (!flgo || flgs));
  70.     if (((uae_s8)(newv)) != 0) ZFLG = 0;
  71.     NFLG = ((uae_s8)(newv)) < 0;
  72.     put_byte(srca,newv);
  73. }}}}}}
  74. void REGPARAM2 CPU_OP_NAME(_4028)(uae_u32 opcode) /* NEGX */
  75. {
  76.     uae_u32 srcreg = (opcode & 7);
  77. {{    uaecptr srca = m68k_areg(regs, srcreg) + (uae_s32)(uae_s16)nextiword();
  78.     uae_s8 src = get_byte(srca);
  79. {    uae_u32 newv = 0 - src - (XFLG ? 1 : 0);
  80. {    int flgs = ((uae_s8)(src)) < 0;
  81.     int flgo = ((uae_s8)(0)) < 0;
  82.     int flgn = ((uae_s8)(newv)) < 0;
  83.     VFLG = (!flgs && flgo && !flgn) || (flgs && !flgo && flgn);
  84.     XFLG = CFLG = (flgs && !flgo) || (flgn && (!flgo || flgs));
  85.     if (((uae_s8)(newv)) != 0) ZFLG = 0;
  86.     NFLG = ((uae_s8)(newv)) < 0;
  87.     put_byte(srca,newv);
  88. }}}}}
  89. void REGPARAM2 CPU_OP_NAME(_4030)(uae_u32 opcode) /* NEGX */
  90. {
  91.     uae_u32 srcreg = (opcode & 7);
  92. {{    uaecptr srca = get_disp_ea(m68k_areg(regs, srcreg));
  93. {    uae_s8 src = get_byte(srca);
  94. {    uae_u32 newv = 0 - src - (XFLG ? 1 : 0);
  95. {    int flgs = ((uae_s8)(src)) < 0;
  96.     int flgo = ((uae_s8)(0)) < 0;
  97.     int flgn = ((uae_s8)(newv)) < 0;
  98.     VFLG = (!flgs && flgo && !flgn) || (flgs && !flgo && flgn);
  99.     XFLG = CFLG = (flgs && !flgo) || (flgn && (!flgo || flgs));
  100.     if (((uae_s8)(newv)) != 0) ZFLG = 0;
  101.     NFLG = ((uae_s8)(newv)) < 0;
  102.     put_byte(srca,newv);
  103. }}}}}}
  104. void REGPARAM2 CPU_OP_NAME(_4038)(uae_u32 opcode) /* NEGX */
  105. {
  106. {{    uaecptr srca = (uae_s32)(uae_s16)nextiword();
  107.     uae_s8 src = get_byte(srca);
  108. {    uae_u32 newv = 0 - src - (XFLG ? 1 : 0);
  109. {    int flgs = ((uae_s8)(src)) < 0;
  110.     int flgo = ((uae_s8)(0)) < 0;
  111.     int flgn = ((uae_s8)(newv)) < 0;
  112.     VFLG = (!flgs && flgo && !flgn) || (flgs && !flgo && flgn);
  113.     XFLG = CFLG = (flgs && !flgo) || (flgn && (!flgo || flgs));
  114.     if (((uae_s8)(newv)) != 0) ZFLG = 0;
  115.     NFLG = ((uae_s8)(newv)) < 0;
  116.     put_byte(srca,newv);
  117. }}}}}
  118. void REGPARAM2 CPU_OP_NAME(_4039)(uae_u32 opcode) /* NEGX */
  119. {
  120. {{    uaecptr srca = nextilong();
  121.     uae_s8 src = get_byte(srca);
  122. {    uae_u32 newv = 0 - src - (XFLG ? 1 : 0);
  123. {    int flgs = ((uae_s8)(src)) < 0;
  124.     int flgo = ((uae_s8)(0)) < 0;
  125.     int flgn = ((uae_s8)(newv)) < 0;
  126.     VFLG = (!flgs && flgo && !flgn) || (flgs && !flgo && flgn);
  127.     XFLG = CFLG = (flgs && !flgo) || (flgn && (!flgo || flgs));
  128.     if (((uae_s8)(newv)) != 0) ZFLG = 0;
  129.     NFLG = ((uae_s8)(newv)) < 0;
  130.     put_byte(srca,newv);
  131. }}}}}
  132. void REGPARAM2 CPU_OP_NAME(_4040)(uae_u32 opcode) /* NEGX */
  133. {
  134.     uae_u32 srcreg = (opcode & 7);
  135. {{    uae_s16 src = m68k_dreg(regs, srcreg);
  136. {    uae_u32 newv = 0 - src - (XFLG ? 1 : 0);
  137. {    int flgs = ((uae_s16)(src)) < 0;
  138.     int flgo = ((uae_s16)(0)) < 0;
  139.     int flgn = ((uae_s16)(newv)) < 0;
  140.     VFLG = (!flgs && flgo && !flgn) || (flgs && !flgo && flgn);
  141.     XFLG = CFLG = (flgs && !flgo) || (flgn && (!flgo || flgs));
  142.     if (((uae_s16)(newv)) != 0) ZFLG = 0;
  143.     NFLG = ((uae_s16)(newv)) < 0;
  144.     m68k_dreg(regs, srcreg) = (m68k_dreg(regs, srcreg) & ~0xffff) | ((newv) & 0xffff);
  145. }}}}}
  146. void REGPARAM2 CPU_OP_NAME(_4050)(uae_u32 opcode) /* NEGX */
  147. {
  148.     uae_u32 srcreg = (opcode & 7);
  149. {{    uaecptr srca = m68k_areg(regs, srcreg);
  150.     uae_s16 src = get_word(srca);
  151. {    uae_u32 newv = 0 - src - (XFLG ? 1 : 0);
  152. {    int flgs = ((uae_s16)(src)) < 0;
  153.     int flgo = ((uae_s16)(0)) < 0;
  154.     int flgn = ((uae_s16)(newv)) < 0;
  155.     VFLG = (!flgs && flgo && !flgn) || (flgs && !flgo && flgn);
  156.     XFLG = CFLG = (flgs && !flgo) || (flgn && (!flgo || flgs));
  157.     if (((uae_s16)(newv)) != 0) ZFLG = 0;
  158.     NFLG = ((uae_s16)(newv)) < 0;
  159.     put_word(srca,newv);
  160. }}}}}
  161. void REGPARAM2 CPU_OP_NAME(_4058)(uae_u32 opcode) /* NEGX */
  162. {
  163.     uae_u32 srcreg = (opcode & 7);
  164. {{    uaecptr srca = m68k_areg(regs, srcreg);
  165.     uae_s16 src = get_word(srca);
  166. {    m68k_areg(regs, srcreg) += 2;
  167. {    uae_u32 newv = 0 - src - (XFLG ? 1 : 0);
  168. {    int flgs = ((uae_s16)(src)) < 0;
  169.     int flgo = ((uae_s16)(0)) < 0;
  170.     int flgn = ((uae_s16)(newv)) < 0;
  171.     VFLG = (!flgs && flgo && !flgn) || (flgs && !flgo && flgn);
  172.     XFLG = CFLG = (flgs && !flgo) || (flgn && (!flgo || flgs));
  173.     if (((uae_s16)(newv)) != 0) ZFLG = 0;
  174.     NFLG = ((uae_s16)(newv)) < 0;
  175.     put_word(srca,newv);
  176. }}}}}}
  177. void REGPARAM2 CPU_OP_NAME(_4060)(uae_u32 opcode) /* NEGX */
  178. {
  179.     uae_u32 srcreg = (opcode & 7);
  180. {{    m68k_areg(regs, srcreg) -= 2;
  181. {    uaecptr srca = m68k_areg(regs, srcreg);
  182.     uae_s16 src = get_word(srca);
  183. {    uae_u32 newv = 0 - src - (XFLG ? 1 : 0);
  184. {    int flgs = ((uae_s16)(src)) < 0;
  185.     int flgo = ((uae_s16)(0)) < 0;
  186.     int flgn = ((uae_s16)(newv)) < 0;
  187.     VFLG = (!flgs && flgo && !flgn) || (flgs && !flgo && flgn);
  188.     XFLG = CFLG = (flgs && !flgo) || (flgn && (!flgo || flgs));
  189.     if (((uae_s16)(newv)) != 0) ZFLG = 0;
  190.     NFLG = ((uae_s16)(newv)) < 0;
  191.     put_word(srca,newv);
  192. }}}}}}
  193. void REGPARAM2 CPU_OP_NAME(_4068)(uae_u32 opcode) /* NEGX */
  194. {
  195.     uae_u32 srcreg = (opcode & 7);
  196. {{    uaecptr srca = m68k_areg(regs, srcreg) + (uae_s32)(uae_s16)nextiword();
  197.     uae_s16 src = get_word(srca);
  198. {    uae_u32 newv = 0 - src - (XFLG ? 1 : 0);
  199. {    int flgs = ((uae_s16)(src)) < 0;
  200.     int flgo = ((uae_s16)(0)) < 0;
  201.     int flgn = ((uae_s16)(newv)) < 0;
  202.     VFLG = (!flgs && flgo && !flgn) || (flgs && !flgo && flgn);
  203.     XFLG = CFLG = (flgs && !flgo) || (flgn && (!flgo || flgs));
  204.     if (((uae_s16)(newv)) != 0) ZFLG = 0;
  205.     NFLG = ((uae_s16)(newv)) < 0;
  206.     put_word(srca,newv);
  207. }}}}}
  208. void REGPARAM2 CPU_OP_NAME(_4070)(uae_u32 opcode) /* NEGX */
  209. {
  210.     uae_u32 srcreg = (opcode & 7);
  211. {{    uaecptr srca = get_disp_ea(m68k_areg(regs, srcreg));
  212. {    uae_s16 src = get_word(srca);
  213. {    uae_u32 newv = 0 - src - (XFLG ? 1 : 0);
  214. {    int flgs = ((uae_s16)(src)) < 0;
  215.     int flgo = ((uae_s16)(0)) < 0;
  216.     int flgn = ((uae_s16)(newv)) < 0;
  217.     VFLG = (!flgs && flgo && !flgn) || (flgs && !flgo && flgn);
  218.     XFLG = CFLG = (flgs && !flgo) || (flgn && (!flgo || flgs));
  219.     if (((uae_s16)(newv)) != 0) ZFLG = 0;
  220.     NFLG = ((uae_s16)(newv)) < 0;
  221.     put_word(srca,newv);
  222. }}}}}}
  223. void REGPARAM2 CPU_OP_NAME(_4078)(uae_u32 opcode) /* NEGX */
  224. {
  225. {{    uaecptr srca = (uae_s32)(uae_s16)nextiword();
  226.     uae_s16 src = get_word(srca);
  227. {    uae_u32 newv = 0 - src - (XFLG ? 1 : 0);
  228. {    int flgs = ((uae_s16)(src)) < 0;
  229.     int flgo = ((uae_s16)(0)) < 0;
  230.     int flgn = ((uae_s16)(newv)) < 0;
  231.     VFLG = (!flgs && flgo && !flgn) || (flgs && !flgo && flgn);
  232.     XFLG = CFLG = (flgs && !flgo) || (flgn && (!flgo || flgs));
  233.     if (((uae_s16)(newv)) != 0) ZFLG = 0;
  234.     NFLG = ((uae_s16)(newv)) < 0;
  235.     put_word(srca,newv);
  236. }}}}}
  237. void REGPARAM2 CPU_OP_NAME(_4079)(uae_u32 opcode) /* NEGX */
  238. {
  239. {{    uaecptr srca = nextilong();
  240.     uae_s16 src = get_word(srca);
  241. {    uae_u32 newv = 0 - src - (XFLG ? 1 : 0);
  242. {    int flgs = ((uae_s16)(src)) < 0;
  243.     int flgo = ((uae_s16)(0)) < 0;
  244.     int flgn = ((uae_s16)(newv)) < 0;
  245.     VFLG = (!flgs && flgo && !flgn) || (flgs && !flgo && flgn);
  246.     XFLG = CFLG = (flgs && !flgo) || (flgn && (!flgo || flgs));
  247.     if (((uae_s16)(newv)) != 0) ZFLG = 0;
  248.     NFLG = ((uae_s16)(newv)) < 0;
  249.     put_word(srca,newv);
  250. }}}}}
  251. void REGPARAM2 CPU_OP_NAME(_4080)(uae_u32 opcode) /* NEGX */
  252. {
  253.     uae_u32 srcreg = (opcode & 7);
  254. {{    uae_s32 src = m68k_dreg(regs, srcreg);
  255. {    uae_u32 newv = 0 - src - (XFLG ? 1 : 0);
  256. {    int flgs = ((uae_s32)(src)) < 0;
  257.     int flgo = ((uae_s32)(0)) < 0;
  258.     int flgn = ((uae_s32)(newv)) < 0;
  259.     VFLG = (!flgs && flgo && !flgn) || (flgs && !flgo && flgn);
  260.     XFLG = CFLG = (flgs && !flgo) || (flgn && (!flgo || flgs));
  261.     if (((uae_s32)(newv)) != 0) ZFLG = 0;
  262.     NFLG = ((uae_s32)(newv)) < 0;
  263.     m68k_dreg(regs, srcreg) = (newv);
  264. }}}}}
  265. void REGPARAM2 CPU_OP_NAME(_4090)(uae_u32 opcode) /* NEGX */
  266. {
  267.     uae_u32 srcreg = (opcode & 7);
  268. {{    uaecptr srca = m68k_areg(regs, srcreg);
  269.     uae_s32 src = get_long(srca);
  270. {    uae_u32 newv = 0 - src - (XFLG ? 1 : 0);
  271. {    int flgs = ((uae_s32)(src)) < 0;
  272.     int flgo = ((uae_s32)(0)) < 0;
  273.     int flgn = ((uae_s32)(newv)) < 0;
  274.     VFLG = (!flgs && flgo && !flgn) || (flgs && !flgo && flgn);
  275.     XFLG = CFLG = (flgs && !flgo) || (flgn && (!flgo || flgs));
  276.     if (((uae_s32)(newv)) != 0) ZFLG = 0;
  277.     NFLG = ((uae_s32)(newv)) < 0;
  278.     put_long(srca,newv);
  279. }}}}}
  280. void REGPARAM2 CPU_OP_NAME(_4098)(uae_u32 opcode) /* NEGX */
  281. {
  282.     uae_u32 srcreg = (opcode & 7);
  283. {{    uaecptr srca = m68k_areg(regs, srcreg);
  284.     uae_s32 src = get_long(srca);
  285. {    m68k_areg(regs, srcreg) += 4;
  286. {    uae_u32 newv = 0 - src - (XFLG ? 1 : 0);
  287. {    int flgs = ((uae_s32)(src)) < 0;
  288.     int flgo = ((uae_s32)(0)) < 0;
  289.     int flgn = ((uae_s32)(newv)) < 0;
  290.     VFLG = (!flgs && flgo && !flgn) || (flgs && !flgo && flgn);
  291.     XFLG = CFLG = (flgs && !flgo) || (flgn && (!flgo || flgs));
  292.     if (((uae_s32)(newv)) != 0) ZFLG = 0;
  293.     NFLG = ((uae_s32)(newv)) < 0;
  294.     put_long(srca,newv);
  295. }}}}}}
  296. void REGPARAM2 CPU_OP_NAME(_40a0)(uae_u32 opcode) /* NEGX */
  297. {
  298.     uae_u32 srcreg = (opcode & 7);
  299. {{    m68k_areg(regs, srcreg) -= 4;
  300. {    uaecptr srca = m68k_areg(regs, srcreg);
  301.     uae_s32 src = get_long(srca);
  302. {    uae_u32 newv = 0 - src - (XFLG ? 1 : 0);
  303. {    int flgs = ((uae_s32)(src)) < 0;
  304.     int flgo = ((uae_s32)(0)) < 0;
  305.     int flgn = ((uae_s32)(newv)) < 0;
  306.     VFLG = (!flgs && flgo && !flgn) || (flgs && !flgo && flgn);
  307.     XFLG = CFLG = (flgs && !flgo) || (flgn && (!flgo || flgs));
  308.     if (((uae_s32)(newv)) != 0) ZFLG = 0;
  309.     NFLG = ((uae_s32)(newv)) < 0;
  310.     put_long(srca,newv);
  311. }}}}}}
  312. void REGPARAM2 CPU_OP_NAME(_40a8)(uae_u32 opcode) /* NEGX */
  313. {
  314.     uae_u32 srcreg = (opcode & 7);
  315. {{    uaecptr srca = m68k_areg(regs, srcreg) + (uae_s32)(uae_s16)nextiword();
  316.     uae_s32 src = get_long(srca);
  317. {    uae_u32 newv = 0 - src - (XFLG ? 1 : 0);
  318. {    int flgs = ((uae_s32)(src)) < 0;
  319.     int flgo = ((uae_s32)(0)) < 0;
  320.     int flgn = ((uae_s32)(newv)) < 0;
  321.     VFLG = (!flgs && flgo && !flgn) || (flgs && !flgo && flgn);
  322.     XFLG = CFLG = (flgs && !flgo) || (flgn && (!flgo || flgs));
  323.     if (((uae_s32)(newv)) != 0) ZFLG = 0;
  324.     NFLG = ((uae_s32)(newv)) < 0;
  325.     put_long(srca,newv);
  326. }}}}}
  327. void REGPARAM2 CPU_OP_NAME(_40b0)(uae_u32 opcode) /* NEGX */
  328. {
  329.     uae_u32 srcreg = (opcode & 7);
  330. {{    uaecptr srca = get_disp_ea(m68k_areg(regs, srcreg));
  331. {    uae_s32 src = get_long(srca);
  332. {    uae_u32 newv = 0 - src - (XFLG ? 1 : 0);
  333. {    int flgs = ((uae_s32)(src)) < 0;
  334.     int flgo = ((uae_s32)(0)) < 0;
  335.     int flgn = ((uae_s32)(newv)) < 0;
  336.     VFLG = (!flgs && flgo && !flgn) || (flgs && !flgo && flgn);
  337.     XFLG = CFLG = (flgs && !flgo) || (flgn && (!flgo || flgs));
  338.     if (((uae_s32)(newv)) != 0) ZFLG = 0;
  339.     NFLG = ((uae_s32)(newv)) < 0;
  340.     put_long(srca,newv);
  341. }}}}}}
  342. void REGPARAM2 CPU_OP_NAME(_40b8)(uae_u32 opcode) /* NEGX */
  343. {
  344. {{    uaecptr srca = (uae_s32)(uae_s16)nextiword();
  345.     uae_s32 src = get_long(srca);
  346. {    uae_u32 newv = 0 - src - (XFLG ? 1 : 0);
  347. {    int flgs = ((uae_s32)(src)) < 0;
  348.     int flgo = ((uae_s32)(0)) < 0;
  349.     int flgn = ((uae_s32)(newv)) < 0;
  350.     VFLG = (!flgs && flgo && !flgn) || (flgs && !flgo && flgn);
  351.     XFLG = CFLG = (flgs && !flgo) || (flgn && (!flgo || flgs));
  352.     if (((uae_s32)(newv)) != 0) ZFLG = 0;
  353.     NFLG = ((uae_s32)(newv)) < 0;
  354.     put_long(srca,newv);
  355. }}}}}
  356. void REGPARAM2 CPU_OP_NAME(_40b9)(uae_u32 opcode) /* NEGX */
  357. {
  358. {{    uaecptr srca = nextilong();
  359.     uae_s32 src = get_long(srca);
  360. {    uae_u32 newv = 0 - src - (XFLG ? 1 : 0);
  361. {    int flgs = ((uae_s32)(src)) < 0;
  362.     int flgo = ((uae_s32)(0)) < 0;
  363.     int flgn = ((uae_s32)(newv)) < 0;
  364.     VFLG = (!flgs && flgo && !flgn) || (flgs && !flgo && flgn);
  365.     XFLG = CFLG = (flgs && !flgo) || (flgn && (!flgo || flgs));
  366.     if (((uae_s32)(newv)) != 0) ZFLG = 0;
  367.     NFLG = ((uae_s32)(newv)) < 0;
  368.     put_long(srca,newv);
  369. }}}}}
  370. void REGPARAM2 CPU_OP_NAME(_40c0)(uae_u32 opcode) /* MVSR2 */
  371. {
  372.     uae_u32 srcreg = (opcode & 7);
  373. {{    MakeSR();
  374.     m68k_dreg(regs, srcreg) = (m68k_dreg(regs, srcreg) & ~0xffff) | ((regs.sr) & 0xffff);
  375. }}}
  376. void REGPARAM2 CPU_OP_NAME(_40d0)(uae_u32 opcode) /* MVSR2 */
  377. {
  378.     uae_u32 srcreg = (opcode & 7);
  379. {{    uaecptr srca = m68k_areg(regs, srcreg);
  380.     MakeSR();
  381.     put_word(srca,regs.sr);
  382. }}}
  383. void REGPARAM2 CPU_OP_NAME(_40d8)(uae_u32 opcode) /* MVSR2 */
  384. {
  385.     uae_u32 srcreg = (opcode & 7);
  386. {{    uaecptr srca = m68k_areg(regs, srcreg);
  387. {    m68k_areg(regs, srcreg) += 2;
  388.     MakeSR();
  389.     put_word(srca,regs.sr);
  390. }}}}
  391. void REGPARAM2 CPU_OP_NAME(_40e0)(uae_u32 opcode) /* MVSR2 */
  392. {
  393.     uae_u32 srcreg = (opcode & 7);
  394. {{    m68k_areg(regs, srcreg) -= 2;
  395. {    uaecptr srca = m68k_areg(regs, srcreg);
  396.     MakeSR();
  397.     put_word(srca,regs.sr);
  398. }}}}
  399. void REGPARAM2 CPU_OP_NAME(_40e8)(uae_u32 opcode) /* MVSR2 */
  400. {
  401.     uae_u32 srcreg = (opcode & 7);
  402. {{    uaecptr srca = m68k_areg(regs, srcreg) + (uae_s32)(uae_s16)nextiword();
  403.     MakeSR();
  404.     put_word(srca,regs.sr);
  405. }}}
  406. void REGPARAM2 CPU_OP_NAME(_40f0)(uae_u32 opcode) /* MVSR2 */
  407. {
  408.     uae_u32 srcreg = (opcode & 7);
  409. {{    uaecptr srca = get_disp_ea(m68k_areg(regs, srcreg));
  410.     MakeSR();
  411.     put_word(srca,regs.sr);
  412. }}}
  413. void REGPARAM2 CPU_OP_NAME(_40f8)(uae_u32 opcode) /* MVSR2 */
  414. {
  415. {{    uaecptr srca = (uae_s32)(uae_s16)nextiword();
  416.     MakeSR();
  417.     put_word(srca,regs.sr);
  418. }}}
  419. void REGPARAM2 CPU_OP_NAME(_40f9)(uae_u32 opcode) /* MVSR2 */
  420. {
  421. {{    uaecptr srca = nextilong();
  422.     MakeSR();
  423.     put_word(srca,regs.sr);
  424. }}}
  425. void REGPARAM2 CPU_OP_NAME(_4100)(uae_u32 opcode) /* CHK */
  426. {
  427.     uae_u32 srcreg = (opcode & 7);
  428.     uae_u32 dstreg = (opcode >> 9) & 7;
  429. {    uaecptr oldpc = m68k_getpc();
  430. {    uae_s32 src = m68k_dreg(regs, srcreg);
  431. {    uae_s32 dst = m68k_dreg(regs, dstreg);
  432.     if ((uae_s32)dst < 0) { NFLG=1; Exception(6,oldpc-2); }
  433.     else if (dst > src) { NFLG=0; Exception(6,oldpc-2); }
  434. }}}}
  435. void REGPARAM2 CPU_OP_NAME(_4110)(uae_u32 opcode) /* CHK */
  436. {
  437.     uae_u32 srcreg = (opcode & 7);
  438.     uae_u32 dstreg = (opcode >> 9) & 7;
  439. {    uaecptr oldpc = m68k_getpc();
  440. {    uaecptr srca = m68k_areg(regs, srcreg);
  441.     uae_s32 src = get_long(srca);
  442. {    uae_s32 dst = m68k_dreg(regs, dstreg);
  443.     if ((uae_s32)dst < 0) { NFLG=1; Exception(6,oldpc-2); }
  444.     else if (dst > src) { NFLG=0; Exception(6,oldpc-2); }
  445. }}}}
  446. void REGPARAM2 CPU_OP_NAME(_4118)(uae_u32 opcode) /* CHK */
  447. {
  448.     uae_u32 srcreg = (opcode & 7);
  449.     uae_u32 dstreg = (opcode >> 9) & 7;
  450. {    uaecptr oldpc = m68k_getpc();
  451. {    uaecptr srca = m68k_areg(regs, srcreg);
  452.     uae_s32 src = get_long(srca);
  453. {    m68k_areg(regs, srcreg) += 4;
  454. {    uae_s32 dst = m68k_dreg(regs, dstreg);
  455.     if ((uae_s32)dst < 0) { NFLG=1; Exception(6,oldpc-2); }
  456.     else if (dst > src) { NFLG=0; Exception(6,oldpc-2); }
  457. }}}}}
  458. void REGPARAM2 CPU_OP_NAME(_4120)(uae_u32 opcode) /* CHK */
  459. {
  460.     uae_u32 srcreg = (opcode & 7);
  461.     uae_u32 dstreg = (opcode >> 9) & 7;
  462. {    uaecptr oldpc = m68k_getpc();
  463. {    m68k_areg(regs, srcreg) -= 4;
  464. {    uaecptr srca = m68k_areg(regs, srcreg);
  465.     uae_s32 src = get_long(srca);
  466. {    uae_s32 dst = m68k_dreg(regs, dstreg);
  467.     if ((uae_s32)dst < 0) { NFLG=1; Exception(6,oldpc-2); }
  468.     else if (dst > src) { NFLG=0; Exception(6,oldpc-2); }
  469. }}}}}
  470. void REGPARAM2 CPU_OP_NAME(_4128)(uae_u32 opcode) /* CHK */
  471. {
  472.     uae_u32 srcreg = (opcode & 7);
  473.     uae_u32 dstreg = (opcode >> 9) & 7;
  474. {    uaecptr oldpc = m68k_getpc();
  475. {    uaecptr srca = m68k_areg(regs, srcreg) + (uae_s32)(uae_s16)nextiword();
  476.     uae_s32 src = get_long(srca);
  477. {    uae_s32 dst = m68k_dreg(regs, dstreg);
  478.     if ((uae_s32)dst < 0) { NFLG=1; Exception(6,oldpc-2); }
  479.     else if (dst > src) { NFLG=0; Exception(6,oldpc-2); }
  480. }}}}
  481. void REGPARAM2 CPU_OP_NAME(_4130)(uae_u32 opcode) /* CHK */
  482. {
  483.     uae_u32 srcreg = (opcode & 7);
  484.     uae_u32 dstreg = (opcode >> 9) & 7;
  485. {    uaecptr oldpc = m68k_getpc();
  486. {    uaecptr srca = get_disp_ea(m68k_areg(regs, srcreg));
  487. {    uae_s32 src = get_long(srca);
  488. {    uae_s32 dst = m68k_dreg(regs, dstreg);
  489.     if ((uae_s32)dst < 0) { NFLG=1; Exception(6,oldpc-2); }
  490.     else if (dst > src) { NFLG=0; Exception(6,oldpc-2); }
  491. }}}}}
  492. void REGPARAM2 CPU_OP_NAME(_4138)(uae_u32 opcode) /* CHK */
  493. {
  494.     uae_u32 dstreg = (opcode >> 9) & 7;
  495. {    uaecptr oldpc = m68k_getpc();
  496. {    uaecptr srca = (uae_s32)(uae_s16)nextiword();
  497.     uae_s32 src = get_long(srca);
  498. {    uae_s32 dst = m68k_dreg(regs, dstreg);
  499.     if ((uae_s32)dst < 0) { NFLG=1; Exception(6,oldpc-2); }
  500.     else if (dst > src) { NFLG=0; Exception(6,oldpc-2); }
  501. }}}}
  502. void REGPARAM2 CPU_OP_NAME(_4139)(uae_u32 opcode) /* CHK */
  503. {
  504.     uae_u32 dstreg = (opcode >> 9) & 7;
  505. {    uaecptr oldpc = m68k_getpc();
  506. {    uaecptr srca = nextilong();
  507.     uae_s32 src = get_long(srca);
  508. {    uae_s32 dst = m68k_dreg(regs, dstreg);
  509.     if ((uae_s32)dst < 0) { NFLG=1; Exception(6,oldpc-2); }
  510.     else if (dst > src) { NFLG=0; Exception(6,oldpc-2); }
  511. }}}}
  512. void REGPARAM2 CPU_OP_NAME(_413a)(uae_u32 opcode) /* CHK */
  513. {
  514.     uae_u32 dstreg = (opcode >> 9) & 7;
  515. {    uaecptr oldpc = m68k_getpc();
  516. {    uaecptr srca = m68k_getpc();
  517.     srca += (uae_s32)(uae_s16)nextiword();
  518. {    uae_s32 src = get_long(srca);
  519. {    uae_s32 dst = m68k_dreg(regs, dstreg);
  520.     if ((uae_s32)dst < 0) { NFLG=1; Exception(6,oldpc-2); }
  521.     else if (dst > src) { NFLG=0; Exception(6,oldpc-2); }
  522. }}}}}
  523. void REGPARAM2 CPU_OP_NAME(_413b)(uae_u32 opcode) /* CHK */
  524. {
  525.     uae_u32 dstreg = (opcode >> 9) & 7;
  526. {    uaecptr oldpc = m68k_getpc();
  527. {    uaecptr srca = get_disp_ea(m68k_getpc());
  528. {    uae_s32 src = get_long(srca);
  529. {    uae_s32 dst = m68k_dreg(regs, dstreg);
  530.     if ((uae_s32)dst < 0) { NFLG=1; Exception(6,oldpc-2); }
  531.     else if (dst > src) { NFLG=0; Exception(6,oldpc-2); }
  532. }}}}}
  533. void REGPARAM2 CPU_OP_NAME(_413c)(uae_u32 opcode) /* CHK */
  534. {
  535.     uae_u32 dstreg = (opcode >> 9) & 7;
  536. {    uaecptr oldpc = m68k_getpc();
  537. {    uae_s32 src = nextilong();
  538. {    uae_s32 dst = m68k_dreg(regs, dstreg);
  539.     if ((uae_s32)dst < 0) { NFLG=1; Exception(6,oldpc-2); }
  540.     else if (dst > src) { NFLG=0; Exception(6,oldpc-2); }
  541. }}}}
  542. void REGPARAM2 CPU_OP_NAME(_4180)(uae_u32 opcode) /* CHK */
  543. {
  544.     uae_u32 srcreg = (opcode & 7);
  545.     uae_u32 dstreg = (opcode >> 9) & 7;
  546. {    uaecptr oldpc = m68k_getpc();
  547. {    uae_s16 src = m68k_dreg(regs, srcreg);
  548. {    uae_s16 dst = m68k_dreg(regs, dstreg);
  549.     if ((uae_s32)dst < 0) { NFLG=1; Exception(6,oldpc-2); }
  550.     else if (dst > src) { NFLG=0; Exception(6,oldpc-2); }
  551. }}}}
  552. void REGPARAM2 CPU_OP_NAME(_4190)(uae_u32 opcode) /* CHK */
  553. {
  554.     uae_u32 srcreg = (opcode & 7);
  555.     uae_u32 dstreg = (opcode >> 9) & 7;
  556. {    uaecptr oldpc = m68k_getpc();
  557. {    uaecptr srca = m68k_areg(regs, srcreg);
  558.     uae_s16 src = get_word(srca);
  559. {    uae_s16 dst = m68k_dreg(regs, dstreg);
  560.     if ((uae_s32)dst < 0) { NFLG=1; Exception(6,oldpc-2); }
  561.     else if (dst > src) { NFLG=0; Exception(6,oldpc-2); }
  562. }}}}
  563. void REGPARAM2 CPU_OP_NAME(_4198)(uae_u32 opcode) /* CHK */
  564. {
  565.     uae_u32 srcreg = (opcode & 7);
  566.     uae_u32 dstreg = (opcode >> 9) & 7;
  567. {    uaecptr oldpc = m68k_getpc();
  568. {    uaecptr srca = m68k_areg(regs, srcreg);
  569.     uae_s16 src = get_word(srca);
  570. {    m68k_areg(regs, srcreg) += 2;
  571. {    uae_s16 dst = m68k_dreg(regs, dstreg);
  572.     if ((uae_s32)dst < 0) { NFLG=1; Exception(6,oldpc-2); }
  573.     else if (dst > src) { NFLG=0; Exception(6,oldpc-2); }
  574. }}}}}
  575. void REGPARAM2 CPU_OP_NAME(_41a0)(uae_u32 opcode) /* CHK */
  576. {
  577.     uae_u32 srcreg = (opcode & 7);
  578.     uae_u32 dstreg = (opcode >> 9) & 7;
  579. {    uaecptr oldpc = m68k_getpc();
  580. {    m68k_areg(regs, srcreg) -= 2;
  581. {    uaecptr srca = m68k_areg(regs, srcreg);
  582.     uae_s16 src = get_word(srca);
  583. {    uae_s16 dst = m68k_dreg(regs, dstreg);
  584.     if ((uae_s32)dst < 0) { NFLG=1; Exception(6,oldpc-2); }
  585.     else if (dst > src) { NFLG=0; Exception(6,oldpc-2); }
  586. }}}}}
  587. void REGPARAM2 CPU_OP_NAME(_41a8)(uae_u32 opcode) /* CHK */
  588. {
  589.     uae_u32 srcreg = (opcode & 7);
  590.     uae_u32 dstreg = (opcode >> 9) & 7;
  591. {    uaecptr oldpc = m68k_getpc();
  592. {    uaecptr srca = m68k_areg(regs, srcreg) + (uae_s32)(uae_s16)nextiword();
  593.     uae_s16 src = get_word(srca);
  594. {    uae_s16 dst = m68k_dreg(regs, dstreg);
  595.     if ((uae_s32)dst < 0) { NFLG=1; Exception(6,oldpc-2); }
  596.     else if (dst > src) { NFLG=0; Exception(6,oldpc-2); }
  597. }}}}
  598. void REGPARAM2 CPU_OP_NAME(_41b0)(uae_u32 opcode) /* CHK */
  599. {
  600.     uae_u32 srcreg = (opcode & 7);
  601.     uae_u32 dstreg = (opcode >> 9) & 7;
  602. {    uaecptr oldpc = m68k_getpc();
  603. {    uaecptr srca = get_disp_ea(m68k_areg(regs, srcreg));
  604. {    uae_s16 src = get_word(srca);
  605. {    uae_s16 dst = m68k_dreg(regs, dstreg);
  606.     if ((uae_s32)dst < 0) { NFLG=1; Exception(6,oldpc-2); }
  607.     else if (dst > src) { NFLG=0; Exception(6,oldpc-2); }
  608. }}}}}
  609. void REGPARAM2 CPU_OP_NAME(_41b8)(uae_u32 opcode) /* CHK */
  610. {
  611.     uae_u32 dstreg = (opcode >> 9) & 7;
  612. {    uaecptr oldpc = m68k_getpc();
  613. {    uaecptr srca = (uae_s32)(uae_s16)nextiword();
  614.     uae_s16 src = get_word(srca);
  615. {    uae_s16 dst = m68k_dreg(regs, dstreg);
  616.     if ((uae_s32)dst < 0) { NFLG=1; Exception(6,oldpc-2); }
  617.     else if (dst > src) { NFLG=0; Exception(6,oldpc-2); }
  618. }}}}
  619. void REGPARAM2 CPU_OP_NAME(_41b9)(uae_u32 opcode) /* CHK */
  620. {
  621.     uae_u32 dstreg = (opcode >> 9) & 7;
  622. {    uaecptr oldpc = m68k_getpc();
  623. {    uaecptr srca = nextilong();
  624.     uae_s16 src = get_word(srca);
  625. {    uae_s16 dst = m68k_dreg(regs, dstreg);
  626.     if ((uae_s32)dst < 0) { NFLG=1; Exception(6,oldpc-2); }
  627.     else if (dst > src) { NFLG=0; Exception(6,oldpc-2); }
  628. }}}}
  629. void REGPARAM2 CPU_OP_NAME(_41ba)(uae_u32 opcode) /* CHK */
  630. {
  631.     uae_u32 dstreg = (opcode >> 9) & 7;
  632. {    uaecptr oldpc = m68k_getpc();
  633. {    uaecptr srca = m68k_getpc();
  634.     srca += (uae_s32)(uae_s16)nextiword();
  635. {    uae_s16 src = get_word(srca);
  636. {    uae_s16 dst = m68k_dreg(regs, dstreg);
  637.     if ((uae_s32)dst < 0) { NFLG=1; Exception(6,oldpc-2); }
  638.     else if (dst > src) { NFLG=0; Exception(6,oldpc-2); }
  639. }}}}}
  640. void REGPARAM2 CPU_OP_NAME(_41bb)(uae_u32 opcode) /* CHK */
  641. {
  642.     uae_u32 dstreg = (opcode >> 9) & 7;
  643. {    uaecptr oldpc = m68k_getpc();
  644. {    uaecptr srca = get_disp_ea(m68k_getpc());
  645. {    uae_s16 src = get_word(srca);
  646. {    uae_s16 dst = m68k_dreg(regs, dstreg);
  647.     if ((uae_s32)dst < 0) { NFLG=1; Exception(6,oldpc-2); }
  648.     else if (dst > src) { NFLG=0; Exception(6,oldpc-2); }
  649. }}}}}
  650. void REGPARAM2 CPU_OP_NAME(_41bc)(uae_u32 opcode) /* CHK */
  651. {
  652.     uae_u32 dstreg = (opcode >> 9) & 7;
  653. {    uaecptr oldpc = m68k_getpc();
  654. {    uae_s16 src = nextiword();
  655. {    uae_s16 dst = m68k_dreg(regs, dstreg);
  656.     if ((uae_s32)dst < 0) { NFLG=1; Exception(6,oldpc-2); }
  657.     else if (dst > src) { NFLG=0; Exception(6,oldpc-2); }
  658. }}}}
  659. void REGPARAM2 CPU_OP_NAME(_41d0)(uae_u32 opcode) /* LEA */
  660. {
  661.     uae_u32 srcreg = (opcode & 7);
  662.     uae_u32 dstreg = (opcode >> 9) & 7;
  663. {{    uaecptr srca = m68k_areg(regs, srcreg);
  664. {    m68k_areg(regs, dstreg) = (srca);
  665. }}}}
  666. void REGPARAM2 CPU_OP_NAME(_41e8)(uae_u32 opcode) /* LEA */
  667. {
  668.     uae_u32 srcreg = (opcode & 7);
  669.     uae_u32 dstreg = (opcode >> 9) & 7;
  670. {{    uaecptr srca = m68k_areg(regs, srcreg) + (uae_s32)(uae_s16)nextiword();
  671. {    m68k_areg(regs, dstreg) = (srca);
  672. }}}}
  673. void REGPARAM2 CPU_OP_NAME(_41f0)(uae_u32 opcode) /* LEA */
  674. {
  675.     uae_u32 srcreg = (opcode & 7);
  676.     uae_u32 dstreg = (opcode >> 9) & 7;
  677. {{    uaecptr srca = get_disp_ea(m68k_areg(regs, srcreg));
  678. {    m68k_areg(regs, dstreg) = (srca);
  679. }}}}
  680. void REGPARAM2 CPU_OP_NAME(_41f8)(uae_u32 opcode) /* LEA */
  681. {
  682.     uae_u32 dstreg = (opcode >> 9) & 7;
  683. {{    uaecptr srca = (uae_s32)(uae_s16)nextiword();
  684. {    m68k_areg(regs, dstreg) = (srca);
  685. }}}}
  686. void REGPARAM2 CPU_OP_NAME(_41f9)(uae_u32 opcode) /* LEA */
  687. {
  688.     uae_u32 dstreg = (opcode >> 9) & 7;
  689. {{    uaecptr srca = nextilong();
  690. {    m68k_areg(regs, dstreg) = (srca);
  691. }}}}
  692. void REGPARAM2 CPU_OP_NAME(_41fa)(uae_u32 opcode) /* LEA */
  693. {
  694.     uae_u32 dstreg = (opcode >> 9) & 7;
  695. {{    uaecptr srca = m68k_getpc();
  696.     srca += (uae_s32)(uae_s16)nextiword();
  697. {    m68k_areg(regs, dstreg) = (srca);
  698. }}}}
  699. void REGPARAM2 CPU_OP_NAME(_41fb)(uae_u32 opcode) /* LEA */
  700. {
  701.     uae_u32 dstreg = (opcode >> 9) & 7;
  702. {{    uaecptr srca = get_disp_ea(m68k_getpc());
  703. {    m68k_areg(regs, dstreg) = (srca);
  704. }}}}
  705. void REGPARAM2 CPU_OP_NAME(_4200)(uae_u32 opcode) /* CLR */
  706. {
  707.     uae_u32 srcreg = (opcode & 7);
  708. {{    VFLG = CFLG = 0;
  709.     ZFLG = ((uae_s8)(0)) == 0;
  710.     NFLG = ((uae_s8)(0)) < 0;
  711.     m68k_dreg(regs, srcreg) = (m68k_dreg(regs, srcreg) & ~0xff) | ((0) & 0xff);
  712. }}}
  713. void REGPARAM2 CPU_OP_NAME(_4210)(uae_u32 opcode) /* CLR */
  714. {
  715.     uae_u32 srcreg = (opcode & 7);
  716. {{    uaecptr srca = m68k_areg(regs, srcreg);
  717.     VFLG = CFLG = 0;
  718.     ZFLG = ((uae_s8)(0)) == 0;
  719.     NFLG = ((uae_s8)(0)) < 0;
  720.     put_byte(srca,0);
  721. }}}
  722. void REGPARAM2 CPU_OP_NAME(_4218)(uae_u32 opcode) /* CLR */
  723. {
  724.     uae_u32 srcreg = (opcode & 7);
  725. {{    uaecptr srca = m68k_areg(regs, srcreg);
  726. {    m68k_areg(regs, srcreg) += areg_byteinc[srcreg];
  727.     VFLG = CFLG = 0;
  728.     ZFLG = ((uae_s8)(0)) == 0;
  729.     NFLG = ((uae_s8)(0)) < 0;
  730.     put_byte(srca,0);
  731. }}}}
  732. void REGPARAM2 CPU_OP_NAME(_4220)(uae_u32 opcode) /* CLR */
  733. {
  734.     uae_u32 srcreg = (opcode & 7);
  735. {{    m68k_areg(regs, srcreg) -= areg_byteinc[srcreg];
  736. {    uaecptr srca = m68k_areg(regs, srcreg);
  737.     VFLG = CFLG = 0;
  738.     ZFLG = ((uae_s8)(0)) == 0;
  739.     NFLG = ((uae_s8)(0)) < 0;
  740.     put_byte(srca,0);
  741. }}}}
  742. void REGPARAM2 CPU_OP_NAME(_4228)(uae_u32 opcode) /* CLR */
  743. {
  744.     uae_u32 srcreg = (opcode & 7);
  745. {{    uaecptr srca = m68k_areg(regs, srcreg) + (uae_s32)(uae_s16)nextiword();
  746.     VFLG = CFLG = 0;
  747.     ZFLG = ((uae_s8)(0)) == 0;
  748.     NFLG = ((uae_s8)(0)) < 0;
  749.     put_byte(srca,0);
  750. }}}
  751. void REGPARAM2 CPU_OP_NAME(_4230)(uae_u32 opcode) /* CLR */
  752. {
  753.     uae_u32 srcreg = (opcode & 7);
  754. {{    uaecptr srca = get_disp_ea(m68k_areg(regs, srcreg));
  755.     VFLG = CFLG = 0;
  756.     ZFLG = ((uae_s8)(0)) == 0;
  757.     NFLG = ((uae_s8)(0)) < 0;
  758.     put_byte(srca,0);
  759. }}}
  760. void REGPARAM2 CPU_OP_NAME(_4238)(uae_u32 opcode) /* CLR */
  761. {
  762. {{    uaecptr srca = (uae_s32)(uae_s16)nextiword();
  763.     VFLG = CFLG = 0;
  764.     ZFLG = ((uae_s8)(0)) == 0;
  765.     NFLG = ((uae_s8)(0)) < 0;
  766.     put_byte(srca,0);
  767. }}}
  768. void REGPARAM2 CPU_OP_NAME(_4239)(uae_u32 opcode) /* CLR */
  769. {
  770. {{    uaecptr srca = nextilong();
  771.     VFLG = CFLG = 0;
  772.     ZFLG = ((uae_s8)(0)) == 0;
  773.     NFLG = ((uae_s8)(0)) < 0;
  774.     put_byte(srca,0);
  775. }}}
  776. void REGPARAM2 CPU_OP_NAME(_4240)(uae_u32 opcode) /* CLR */
  777. {
  778.     uae_u32 srcreg = (opcode & 7);
  779. {{    VFLG = CFLG = 0;
  780.     ZFLG = ((uae_s16)(0)) == 0;
  781.     NFLG = ((uae_s16)(0)) < 0;
  782.     m68k_dreg(regs, srcreg) = (m68k_dreg(regs, srcreg) & ~0xffff) | ((0) & 0xffff);
  783. }}}
  784. void REGPARAM2 CPU_OP_NAME(_4250)(uae_u32 opcode) /* CLR */
  785. {
  786.     uae_u32 srcreg = (opcode & 7);
  787. {{    uaecptr srca = m68k_areg(regs, srcreg);
  788.     VFLG = CFLG = 0;
  789.     ZFLG = ((uae_s16)(0)) == 0;
  790.     NFLG = ((uae_s16)(0)) < 0;
  791.     put_word(srca,0);
  792. }}}
  793. void REGPARAM2 CPU_OP_NAME(_4258)(uae_u32 opcode) /* CLR */
  794. {
  795.     uae_u32 srcreg = (opcode & 7);
  796. {{    uaecptr srca = m68k_areg(regs, srcreg);
  797. {    m68k_areg(regs, srcreg) += 2;
  798.     VFLG = CFLG = 0;
  799.     ZFLG = ((uae_s16)(0)) == 0;
  800.     NFLG = ((uae_s16)(0)) < 0;
  801.     put_word(srca,0);
  802. }}}}
  803. void REGPARAM2 CPU_OP_NAME(_4260)(uae_u32 opcode) /* CLR */
  804. {
  805.     uae_u32 srcreg = (opcode & 7);
  806. {{    m68k_areg(regs, srcreg) -= 2;
  807. {    uaecptr srca = m68k_areg(regs, srcreg);
  808.     VFLG = CFLG = 0;
  809.     ZFLG = ((uae_s16)(0)) == 0;
  810.     NFLG = ((uae_s16)(0)) < 0;
  811.     put_word(srca,0);
  812. }}}}
  813. void REGPARAM2 CPU_OP_NAME(_4268)(uae_u32 opcode) /* CLR */
  814. {
  815.     uae_u32 srcreg = (opcode & 7);
  816. {{    uaecptr srca = m68k_areg(regs, srcreg) + (uae_s32)(uae_s16)nextiword();
  817.     VFLG = CFLG = 0;
  818.     ZFLG = ((uae_s16)(0)) == 0;
  819.     NFLG = ((uae_s16)(0)) < 0;
  820.     put_word(srca,0);
  821. }}}
  822. void REGPARAM2 CPU_OP_NAME(_4270)(uae_u32 opcode) /* CLR */
  823. {
  824.     uae_u32 srcreg = (opcode & 7);
  825. {{    uaecptr srca = get_disp_ea(m68k_areg(regs, srcreg));
  826.     VFLG = CFLG = 0;
  827.     ZFLG = ((uae_s16)(0)) == 0;
  828.     NFLG = ((uae_s16)(0)) < 0;
  829.     put_word(srca,0);
  830. }}}
  831. void REGPARAM2 CPU_OP_NAME(_4278)(uae_u32 opcode) /* CLR */
  832. {
  833. {{    uaecptr srca = (uae_s32)(uae_s16)nextiword();
  834.     VFLG = CFLG = 0;
  835.     ZFLG = ((uae_s16)(0)) == 0;
  836.     NFLG = ((uae_s16)(0)) < 0;
  837.     put_word(srca,0);
  838. }}}
  839. void REGPARAM2 CPU_OP_NAME(_4279)(uae_u32 opcode) /* CLR */
  840. {
  841. {{    uaecptr srca = nextilong();
  842.     VFLG = CFLG = 0;
  843.     ZFLG = ((uae_s16)(0)) == 0;
  844.     NFLG = ((uae_s16)(0)) < 0;
  845.     put_word(srca,0);
  846. }}}
  847. void REGPARAM2 CPU_OP_NAME(_4280)(uae_u32 opcode) /* CLR */
  848. {
  849.     uae_u32 srcreg = (opcode & 7);
  850. {{    VFLG = CFLG = 0;
  851.     ZFLG = ((uae_s32)(0)) == 0;
  852.     NFLG = ((uae_s32)(0)) < 0;
  853.     m68k_dreg(regs, srcreg) = (0);
  854. }}}
  855. void REGPARAM2 CPU_OP_NAME(_4290)(uae_u32 opcode) /* CLR */
  856. {
  857.     uae_u32 srcreg = (opcode & 7);
  858. {{    uaecptr srca = m68k_areg(regs, srcreg);
  859.     VFLG = CFLG = 0;
  860.     ZFLG = ((uae_s32)(0)) == 0;
  861.     NFLG = ((uae_s32)(0)) < 0;
  862.     put_long(srca,0);
  863. }}}
  864. void REGPARAM2 CPU_OP_NAME(_4298)(uae_u32 opcode) /* CLR */
  865. {
  866.     uae_u32 srcreg = (opcode & 7);
  867. {{    uaecptr srca = m68k_areg(regs, srcreg);
  868. {    m68k_areg(regs, srcreg) += 4;
  869.     VFLG = CFLG = 0;
  870.     ZFLG = ((uae_s32)(0)) == 0;
  871.     NFLG = ((uae_s32)(0)) < 0;
  872.     put_long(srca,0);
  873. }}}}
  874. void REGPARAM2 CPU_OP_NAME(_42a0)(uae_u32 opcode) /* CLR */
  875. {
  876.     uae_u32 srcreg = (opcode & 7);
  877. {{    m68k_areg(regs, srcreg) -= 4;
  878. {    uaecptr srca = m68k_areg(regs, srcreg);
  879.     VFLG = CFLG = 0;
  880.     ZFLG = ((uae_s32)(0)) == 0;
  881.     NFLG = ((uae_s32)(0)) < 0;
  882.     put_long(srca,0);
  883. }}}}
  884. void REGPARAM2 CPU_OP_NAME(_42a8)(uae_u32 opcode) /* CLR */
  885. {
  886.     uae_u32 srcreg = (opcode & 7);
  887. {{    uaecptr srca = m68k_areg(regs, srcreg) + (uae_s32)(uae_s16)nextiword();
  888.     VFLG = CFLG = 0;
  889.     ZFLG = ((uae_s32)(0)) == 0;
  890.     NFLG = ((uae_s32)(0)) < 0;
  891.     put_long(srca,0);
  892. }}}
  893. void REGPARAM2 CPU_OP_NAME(_42b0)(uae_u32 opcode) /* CLR */
  894. {
  895.     uae_u32 srcreg = (opcode & 7);
  896. {{    uaecptr srca = get_disp_ea(m68k_areg(regs, srcreg));
  897.     VFLG = CFLG = 0;
  898.     ZFLG = ((uae_s32)(0)) == 0;
  899.     NFLG = ((uae_s32)(0)) < 0;
  900.     put_long(srca,0);
  901. }}}
  902. void REGPARAM2 CPU_OP_NAME(_42b8)(uae_u32 opcode) /* CLR */
  903. {
  904. {{    uaecptr srca = (uae_s32)(uae_s16)nextiword();
  905.     VFLG = CFLG = 0;
  906.     ZFLG = ((uae_s32)(0)) == 0;
  907.     NFLG = ((uae_s32)(0)) < 0;
  908.     put_long(srca,0);
  909. }}}
  910. void REGPARAM2 CPU_OP_NAME(_42b9)(uae_u32 opcode) /* CLR */
  911. {
  912. {{    uaecptr srca = nextilong();
  913.     VFLG = CFLG = 0;
  914.     ZFLG = ((uae_s32)(0)) == 0;
  915.     NFLG = ((uae_s32)(0)) < 0;
  916.     put_long(srca,0);
  917. }}}
  918. void REGPARAM2 CPU_OP_NAME(_4400)(uae_u32 opcode) /* NEG */
  919. {
  920.     uae_u32 srcreg = (opcode & 7);
  921. {{    uae_s8 src = m68k_dreg(regs, srcreg);
  922. {{uae_u32 dst = ((uae_s8)(0)) - ((uae_s8)(src));
  923. {    int flgs = ((uae_s8)(src)) < 0;
  924.     int flgo = ((uae_s8)(0)) < 0;
  925.     int flgn = ((uae_s8)(dst)) < 0;
  926.     ZFLG = ((uae_s8)(dst)) == 0;
  927.     VFLG = (flgs != flgo) && (flgn != flgo);
  928.     CFLG = XFLG = ((uae_u8)(src)) > ((uae_u8)(0));
  929.     NFLG = flgn != 0;
  930.     m68k_dreg(regs, srcreg) = (m68k_dreg(regs, srcreg) & ~0xff) | ((dst) & 0xff);
  931. }}}}}}
  932. void REGPARAM2 CPU_OP_NAME(_4410)(uae_u32 opcode) /* NEG */
  933. {
  934.     uae_u32 srcreg = (opcode & 7);
  935. {{    uaecptr srca = m68k_areg(regs, srcreg);
  936.     uae_s8 src = get_byte(srca);
  937. {{uae_u32 dst = ((uae_s8)(0)) - ((uae_s8)(src));
  938. {    int flgs = ((uae_s8)(src)) < 0;
  939.     int flgo = ((uae_s8)(0)) < 0;
  940.     int flgn = ((uae_s8)(dst)) < 0;
  941.     ZFLG = ((uae_s8)(dst)) == 0;
  942.     VFLG = (flgs != flgo) && (flgn != flgo);
  943.     CFLG = XFLG = ((uae_u8)(src)) > ((uae_u8)(0));
  944.     NFLG = flgn != 0;
  945.     put_byte(srca,dst);
  946. }}}}}}
  947. void REGPARAM2 CPU_OP_NAME(_4418)(uae_u32 opcode) /* NEG */
  948. {
  949.     uae_u32 srcreg = (opcode & 7);
  950. {{    uaecptr srca = m68k_areg(regs, srcreg);
  951.     uae_s8 src = get_byte(srca);
  952. {    m68k_areg(regs, srcreg) += areg_byteinc[srcreg];
  953. {{uae_u32 dst = ((uae_s8)(0)) - ((uae_s8)(src));
  954. {    int flgs = ((uae_s8)(src)) < 0;
  955.     int flgo = ((uae_s8)(0)) < 0;
  956.     int flgn = ((uae_s8)(dst)) < 0;
  957.     ZFLG = ((uae_s8)(dst)) == 0;
  958.     VFLG = (flgs != flgo) && (flgn != flgo);
  959.     CFLG = XFLG = ((uae_u8)(src)) > ((uae_u8)(0));
  960.     NFLG = flgn != 0;
  961.     put_byte(srca,dst);
  962. }}}}}}}
  963. void REGPARAM2 CPU_OP_NAME(_4420)(uae_u32 opcode) /* NEG */
  964. {
  965.     uae_u32 srcreg = (opcode & 7);
  966. {{    m68k_areg(regs, srcreg) -= areg_byteinc[srcreg];
  967. {    uaecptr srca = m68k_areg(regs, srcreg);
  968.     uae_s8 src = get_byte(srca);
  969. {{uae_u32 dst = ((uae_s8)(0)) - ((uae_s8)(src));
  970. {    int flgs = ((uae_s8)(src)) < 0;
  971.     int flgo = ((uae_s8)(0)) < 0;
  972.     int flgn = ((uae_s8)(dst)) < 0;
  973.     ZFLG = ((uae_s8)(dst)) == 0;
  974.     VFLG = (flgs != flgo) && (flgn != flgo);
  975.     CFLG = XFLG = ((uae_u8)(src)) > ((uae_u8)(0));
  976.     NFLG = flgn != 0;
  977.     put_byte(srca,dst);
  978. }}}}}}}
  979. void REGPARAM2 CPU_OP_NAME(_4428)(uae_u32 opcode) /* NEG */
  980. {
  981.     uae_u32 srcreg = (opcode & 7);
  982. {{    uaecptr srca = m68k_areg(regs, srcreg) + (uae_s32)(uae_s16)nextiword();
  983.     uae_s8 src = get_byte(srca);
  984. {{uae_u32 dst = ((uae_s8)(0)) - ((uae_s8)(src));
  985. {    int flgs = ((uae_s8)(src)) < 0;
  986.     int flgo = ((uae_s8)(0)) < 0;
  987.     int flgn = ((uae_s8)(dst)) < 0;
  988.     ZFLG = ((uae_s8)(dst)) == 0;
  989.     VFLG = (flgs != flgo) && (flgn != flgo);
  990.     CFLG = XFLG = ((uae_u8)(src)) > ((uae_u8)(0));
  991.     NFLG = flgn != 0;
  992.     put_byte(srca,dst);
  993. }}}}}}
  994. void REGPARAM2 CPU_OP_NAME(_4430)(uae_u32 opcode) /* NEG */
  995. {
  996.     uae_u32 srcreg = (opcode & 7);
  997. {{    uaecptr srca = get_disp_ea(m68k_areg(regs, srcreg));
  998. {    uae_s8 src = get_byte(srca);
  999. {{uae_u32 dst = ((uae_s8)(0)) - ((uae_s8)(src));
  1000. {    int flgs = ((uae_s8)(src)) < 0;
  1001.     int flgo = ((uae_s8)(0)) < 0;
  1002.     int flgn = ((uae_s8)(dst)) < 0;
  1003.     ZFLG = ((uae_s8)(dst)) == 0;
  1004.     VFLG = (flgs != flgo) && (flgn != flgo);
  1005.     CFLG = XFLG = ((uae_u8)(src)) > ((uae_u8)(0));
  1006.     NFLG = flgn != 0;
  1007.     put_byte(srca,dst);
  1008. }}}}}}}
  1009. void REGPARAM2 CPU_OP_NAME(_4438)(uae_u32 opcode) /* NEG */
  1010. {
  1011. {{    uaecptr srca = (uae_s32)(uae_s16)nextiword();
  1012.     uae_s8 src = get_byte(srca);
  1013. {{uae_u32 dst = ((uae_s8)(0)) - ((uae_s8)(src));
  1014. {    int flgs = ((uae_s8)(src)) < 0;
  1015.     int flgo = ((uae_s8)(0)) < 0;
  1016.     int flgn = ((uae_s8)(dst)) < 0;
  1017.     ZFLG = ((uae_s8)(dst)) == 0;
  1018.     VFLG = (flgs != flgo) && (flgn != flgo);
  1019.     CFLG = XFLG = ((uae_u8)(src)) > ((uae_u8)(0));
  1020.     NFLG = flgn != 0;
  1021.     put_byte(srca,dst);
  1022. }}}}}}
  1023. void REGPARAM2 CPU_OP_NAME(_4439)(uae_u32 opcode) /* NEG */
  1024. {
  1025. {{    uaecptr srca = nextilong();
  1026.     uae_s8 src = get_byte(srca);
  1027. {{uae_u32 dst = ((uae_s8)(0)) - ((uae_s8)(src));
  1028. {    int flgs = ((uae_s8)(src)) < 0;
  1029.     int flgo = ((uae_s8)(0)) < 0;
  1030.     int flgn = ((uae_s8)(dst)) < 0;
  1031.     ZFLG = ((uae_s8)(dst)) == 0;
  1032.     VFLG = (flgs != flgo) && (flgn != flgo);
  1033.     CFLG = XFLG = ((uae_u8)(src)) > ((uae_u8)(0));
  1034.     NFLG = flgn != 0;
  1035.     put_byte(srca,dst);
  1036. }}}}}}
  1037. void REGPARAM2 CPU_OP_NAME(_4440)(uae_u32 opcode) /* NEG */
  1038. {
  1039.     uae_u32 srcreg = (opcode & 7);
  1040. {{    uae_s16 src = m68k_dreg(regs, srcreg);
  1041. {{uae_u32 dst = ((uae_s16)(0)) - ((uae_s16)(src));
  1042. {    int flgs = ((uae_s16)(src)) < 0;
  1043.     int flgo = ((uae_s16)(0)) < 0;
  1044.     int flgn = ((uae_s16)(dst)) < 0;
  1045.     ZFLG = ((uae_s16)(dst)) == 0;
  1046.     VFLG = (flgs != flgo) && (flgn != flgo);
  1047.     CFLG = XFLG = ((uae_u16)(src)) > ((uae_u16)(0));
  1048.     NFLG = flgn != 0;
  1049.     m68k_dreg(regs, srcreg) = (m68k_dreg(regs, srcreg) & ~0xffff) | ((dst) & 0xffff);
  1050. }}}}}}
  1051. void REGPARAM2 CPU_OP_NAME(_4450)(uae_u32 opcode) /* NEG */
  1052. {
  1053.     uae_u32 srcreg = (opcode & 7);
  1054. {{    uaecptr srca = m68k_areg(regs, srcreg);
  1055.     uae_s16 src = get_word(srca);
  1056. {{uae_u32 dst = ((uae_s16)(0)) - ((uae_s16)(src));
  1057. {    int flgs = ((uae_s16)(src)) < 0;
  1058.     int flgo = ((uae_s16)(0)) < 0;
  1059.     int flgn = ((uae_s16)(dst)) < 0;
  1060.     ZFLG = ((uae_s16)(dst)) == 0;
  1061.     VFLG = (flgs != flgo) && (flgn != flgo);
  1062.     CFLG = XFLG = ((uae_u16)(src)) > ((uae_u16)(0));
  1063.     NFLG = flgn != 0;
  1064.     put_word(srca,dst);
  1065. }}}}}}
  1066. void REGPARAM2 CPU_OP_NAME(_4458)(uae_u32 opcode) /* NEG */
  1067. {
  1068.     uae_u32 srcreg = (opcode & 7);
  1069. {{    uaecptr srca = m68k_areg(regs, srcreg);
  1070.     uae_s16 src = get_word(srca);
  1071. {    m68k_areg(regs, srcreg) += 2;
  1072. {{uae_u32 dst = ((uae_s16)(0)) - ((uae_s16)(src));
  1073. {    int flgs = ((uae_s16)(src)) < 0;
  1074.     int flgo = ((uae_s16)(0)) < 0;
  1075.     int flgn = ((uae_s16)(dst)) < 0;
  1076.     ZFLG = ((uae_s16)(dst)) == 0;
  1077.     VFLG = (flgs != flgo) && (flgn != flgo);
  1078.     CFLG = XFLG = ((uae_u16)(src)) > ((uae_u16)(0));
  1079.     NFLG = flgn != 0;
  1080.     put_word(srca,dst);
  1081. }}}}}}}
  1082. void REGPARAM2 CPU_OP_NAME(_4460)(uae_u32 opcode) /* NEG */
  1083. {
  1084.     uae_u32 srcreg = (opcode & 7);
  1085. {{    m68k_areg(regs, srcreg) -= 2;
  1086. {    uaecptr srca = m68k_areg(regs, srcreg);
  1087.     uae_s16 src = get_word(srca);
  1088. {{uae_u32 dst = ((uae_s16)(0)) - ((uae_s16)(src));
  1089. {    int flgs = ((uae_s16)(src)) < 0;
  1090.     int flgo = ((uae_s16)(0)) < 0;
  1091.     int flgn = ((uae_s16)(dst)) < 0;
  1092.     ZFLG = ((uae_s16)(dst)) == 0;
  1093.     VFLG = (flgs != flgo) && (flgn != flgo);
  1094.     CFLG = XFLG = ((uae_u16)(src)) > ((uae_u16)(0));
  1095.     NFLG = flgn != 0;
  1096.     put_word(srca,dst);
  1097. }}}}}}}
  1098. void REGPARAM2 CPU_OP_NAME(_4468)(uae_u32 opcode) /* NEG */
  1099. {
  1100.     uae_u32 srcreg = (opcode & 7);
  1101. {{    uaecptr srca = m68k_areg(regs, srcreg) + (uae_s32)(uae_s16)nextiword();
  1102.     uae_s16 src = get_word(srca);
  1103. {{uae_u32 dst = ((uae_s16)(0)) - ((uae_s16)(src));
  1104. {    int flgs = ((uae_s16)(src)) < 0;
  1105.     int flgo = ((uae_s16)(0)) < 0;
  1106.     int flgn = ((uae_s16)(dst)) < 0;
  1107.     ZFLG = ((uae_s16)(dst)) == 0;
  1108.     VFLG = (flgs != flgo) && (flgn != flgo);
  1109.     CFLG = XFLG = ((uae_u16)(src)) > ((uae_u16)(0));
  1110.     NFLG = flgn != 0;
  1111.     put_word(srca,dst);
  1112. }}}}}}
  1113. void REGPARAM2 CPU_OP_NAME(_4470)(uae_u32 opcode) /* NEG */
  1114. {
  1115.     uae_u32 srcreg = (opcode & 7);
  1116. {{    uaecptr srca = get_disp_ea(m68k_areg(regs, srcreg));
  1117. {    uae_s16 src = get_word(srca);
  1118. {{uae_u32 dst = ((uae_s16)(0)) - ((uae_s16)(src));
  1119. {    int flgs = ((uae_s16)(src)) < 0;
  1120.     int flgo = ((uae_s16)(0)) < 0;
  1121.     int flgn = ((uae_s16)(dst)) < 0;
  1122.     ZFLG = ((uae_s16)(dst)) == 0;
  1123.     VFLG = (flgs != flgo) && (flgn != flgo);
  1124.     CFLG = XFLG = ((uae_u16)(src)) > ((uae_u16)(0));
  1125.     NFLG = flgn != 0;
  1126.     put_word(srca,dst);
  1127. }}}}}}}
  1128. void REGPARAM2 CPU_OP_NAME(_4478)(uae_u32 opcode) /* NEG */
  1129. {
  1130. {{    uaecptr srca = (uae_s32)(uae_s16)nextiword();
  1131.     uae_s16 src = get_word(srca);
  1132. {{uae_u32 dst = ((uae_s16)(0)) - ((uae_s16)(src));
  1133. {    int flgs = ((uae_s16)(src)) < 0;
  1134.     int flgo = ((uae_s16)(0)) < 0;
  1135.     int flgn = ((uae_s16)(dst)) < 0;
  1136.     ZFLG = ((uae_s16)(dst)) == 0;
  1137.     VFLG = (flgs != flgo) && (flgn != flgo);
  1138.     CFLG = XFLG = ((uae_u16)(src)) > ((uae_u16)(0));
  1139.     NFLG = flgn != 0;
  1140.     put_word(srca,dst);
  1141. }}}}}}
  1142. void REGPARAM2 CPU_OP_NAME(_4479)(uae_u32 opcode) /* NEG */
  1143. {
  1144. {{    uaecptr srca = nextilong();
  1145.     uae_s16 src = get_word(srca);
  1146. {{uae_u32 dst = ((uae_s16)(0)) - ((uae_s16)(src));
  1147. {    int flgs = ((uae_s16)(src)) < 0;
  1148.     int flgo = ((uae_s16)(0)) < 0;
  1149.     int flgn = ((uae_s16)(dst)) < 0;
  1150.     ZFLG = ((uae_s16)(dst)) == 0;
  1151.     VFLG = (flgs != flgo) && (flgn != flgo);
  1152.     CFLG = XFLG = ((uae_u16)(src)) > ((uae_u16)(0));
  1153.     NFLG = flgn != 0;
  1154.     put_word(srca,dst);
  1155. }}}}}}
  1156. void REGPARAM2 CPU_OP_NAME(_4480)(uae_u32 opcode) /* NEG */
  1157. {
  1158.     uae_u32 srcreg = (opcode & 7);
  1159. {{    uae_s32 src = m68k_dreg(regs, srcreg);
  1160. {{uae_u32 dst = ((uae_s32)(0)) - ((uae_s32)(src));
  1161. {    int flgs = ((uae_s32)(src)) < 0;
  1162.     int flgo = ((uae_s32)(0)) < 0;
  1163.     int flgn = ((uae_s32)(dst)) < 0;
  1164.     ZFLG = ((uae_s32)(dst)) == 0;
  1165.     VFLG = (flgs != flgo) && (flgn != flgo);
  1166.     CFLG = XFLG = ((uae_u32)(src)) > ((uae_u32)(0));
  1167.     NFLG = flgn != 0;
  1168.     m68k_dreg(regs, srcreg) = (dst);
  1169. }}}}}}
  1170. void REGPARAM2 CPU_OP_NAME(_4490)(uae_u32 opcode) /* NEG */
  1171. {
  1172.     uae_u32 srcreg = (opcode & 7);
  1173. {{    uaecptr srca = m68k_areg(regs, srcreg);
  1174.     uae_s32 src = get_long(srca);
  1175. {{uae_u32 dst = ((uae_s32)(0)) - ((uae_s32)(src));
  1176. {    int flgs = ((uae_s32)(src)) < 0;
  1177.     int flgo = ((uae_s32)(0)) < 0;
  1178.     int flgn = ((uae_s32)(dst)) < 0;
  1179.     ZFLG = ((uae_s32)(dst)) == 0;
  1180.     VFLG = (flgs != flgo) && (flgn != flgo);
  1181.     CFLG = XFLG = ((uae_u32)(src)) > ((uae_u32)(0));
  1182.     NFLG = flgn != 0;
  1183.     put_long(srca,dst);
  1184. }}}}}}
  1185. void REGPARAM2 CPU_OP_NAME(_4498)(uae_u32 opcode) /* NEG */
  1186. {
  1187.     uae_u32 srcreg = (opcode & 7);
  1188. {{    uaecptr srca = m68k_areg(regs, srcreg);
  1189.     uae_s32 src = get_long(srca);
  1190. {    m68k_areg(regs, srcreg) += 4;
  1191. {{uae_u32 dst = ((uae_s32)(0)) - ((uae_s32)(src));
  1192. {    int flgs = ((uae_s32)(src)) < 0;
  1193.     int flgo = ((uae_s32)(0)) < 0;
  1194.     int flgn = ((uae_s32)(dst)) < 0;
  1195.     ZFLG = ((uae_s32)(dst)) == 0;
  1196.     VFLG = (flgs != flgo) && (flgn != flgo);
  1197.     CFLG = XFLG = ((uae_u32)(src)) > ((uae_u32)(0));
  1198.     NFLG = flgn != 0;
  1199.     put_long(srca,dst);
  1200. }}}}}}}
  1201. void REGPARAM2 CPU_OP_NAME(_44a0)(uae_u32 opcode) /* NEG */
  1202. {
  1203.     uae_u32 srcreg = (opcode & 7);
  1204. {{    m68k_areg(regs, srcreg) -= 4;
  1205. {    uaecptr srca = m68k_areg(regs, srcreg);
  1206.     uae_s32 src = get_long(srca);
  1207. {{uae_u32 dst = ((uae_s32)(0)) - ((uae_s32)(src));
  1208. {    int flgs = ((uae_s32)(src)) < 0;
  1209.     int flgo = ((uae_s32)(0)) < 0;
  1210.     int flgn = ((uae_s32)(dst)) < 0;
  1211.     ZFLG = ((uae_s32)(dst)) == 0;
  1212.     VFLG = (flgs != flgo) && (flgn != flgo);
  1213.     CFLG = XFLG = ((uae_u32)(src)) > ((uae_u32)(0));
  1214.     NFLG = flgn != 0;
  1215.     put_long(srca,dst);
  1216. }}}}}}}
  1217. void REGPARAM2 CPU_OP_NAME(_44a8)(uae_u32 opcode) /* NEG */
  1218. {
  1219.     uae_u32 srcreg = (opcode & 7);
  1220. {{    uaecptr srca = m68k_areg(regs, srcreg) + (uae_s32)(uae_s16)nextiword();
  1221.     uae_s32 src = get_long(srca);
  1222. {{uae_u32 dst = ((uae_s32)(0)) - ((uae_s32)(src));
  1223. {    int flgs = ((uae_s32)(src)) < 0;
  1224.     int flgo = ((uae_s32)(0)) < 0;
  1225.     int flgn = ((uae_s32)(dst)) < 0;
  1226.     ZFLG = ((uae_s32)(dst)) == 0;
  1227.     VFLG = (flgs != flgo) && (flgn != flgo);
  1228.     CFLG = XFLG = ((uae_u32)(src)) > ((uae_u32)(0));
  1229.     NFLG = flgn != 0;
  1230.     put_long(srca,dst);
  1231. }}}}}}
  1232. void REGPARAM2 CPU_OP_NAME(_44b0)(uae_u32 opcode) /* NEG */
  1233. {
  1234.     uae_u32 srcreg = (opcode & 7);
  1235. {{    uaecptr srca = get_disp_ea(m68k_areg(regs, srcreg));
  1236. {    uae_s32 src = get_long(srca);
  1237. {{uae_u32 dst = ((uae_s32)(0)) - ((uae_s32)(src));
  1238. {    int flgs = ((uae_s32)(src)) < 0;
  1239.     int flgo = ((uae_s32)(0)) < 0;
  1240.     int flgn = ((uae_s32)(dst)) < 0;
  1241.     ZFLG = ((uae_s32)(dst)) == 0;
  1242.     VFLG = (flgs != flgo) && (flgn != flgo);
  1243.     CFLG = XFLG = ((uae_u32)(src)) > ((uae_u32)(0));
  1244.     NFLG = flgn != 0;
  1245.     put_long(srca,dst);
  1246. }}}}}}}
  1247. void REGPARAM2 CPU_OP_NAME(_44b8)(uae_u32 opcode) /* NEG */
  1248. {
  1249. {{    uaecptr srca = (uae_s32)(uae_s16)nextiword();
  1250.     uae_s32 src = get_long(srca);
  1251. {{uae_u32 dst = ((uae_s32)(0)) - ((uae_s32)(src));
  1252. {    int flgs = ((uae_s32)(src)) < 0;
  1253.     int flgo = ((uae_s32)(0)) < 0;
  1254.     int flgn = ((uae_s32)(dst)) < 0;
  1255.     ZFLG = ((uae_s32)(dst)) == 0;
  1256.     VFLG = (flgs != flgo) && (flgn != flgo);
  1257.     CFLG = XFLG = ((uae_u32)(src)) > ((uae_u32)(0));
  1258.     NFLG = flgn != 0;
  1259.     put_long(srca,dst);
  1260. }}}}}}
  1261. void REGPARAM2 CPU_OP_NAME(_44b9)(uae_u32 opcode) /* NEG */
  1262. {
  1263. {{    uaecptr srca = nextilong();
  1264.     uae_s32 src = get_long(srca);
  1265. {{uae_u32 dst = ((uae_s32)(0)) - ((uae_s32)(src));
  1266. {    int flgs = ((uae_s32)(src)) < 0;
  1267.     int flgo = ((uae_s32)(0)) < 0;
  1268.     int flgn = ((uae_s32)(dst)) < 0;
  1269.     ZFLG = ((uae_s32)(dst)) == 0;
  1270.     VFLG = (flgs != flgo) && (flgn != flgo);
  1271.     CFLG = XFLG = ((uae_u32)(src)) > ((uae_u32)(0));
  1272.     NFLG = flgn != 0;
  1273.     put_long(srca,dst);
  1274. }}}}}}
  1275. void REGPARAM2 CPU_OP_NAME(_44c0)(uae_u32 opcode) /* MV2SR */
  1276. {
  1277.     uae_u32 srcreg = (opcode & 7);
  1278. {{    uae_s16 src = m68k_dreg(regs, srcreg);
  1279.     MakeSR();
  1280.     regs.sr &= 0xFF00;
  1281.     regs.sr |= src & 0xFF;
  1282.     MakeFromSR();
  1283. }}}
  1284. void REGPARAM2 CPU_OP_NAME(_44d0)(uae_u32 opcode) /* MV2SR */
  1285. {
  1286.     uae_u32 srcreg = (opcode & 7);
  1287. {{    uaecptr srca = m68k_areg(regs, srcreg);
  1288.     uae_s16 src = get_word(srca);
  1289.     MakeSR();
  1290.     regs.sr &= 0xFF00;
  1291.     regs.sr |= src & 0xFF;
  1292.     MakeFromSR();
  1293. }}}
  1294. void REGPARAM2 CPU_OP_NAME(_44d8)(uae_u32 opcode) /* MV2SR */
  1295. {
  1296.     uae_u32 srcreg = (opcode & 7);
  1297. {{    uaecptr srca = m68k_areg(regs, srcreg);
  1298.     uae_s16 src = get_word(srca);
  1299. {    m68k_areg(regs, srcreg) += 2;
  1300.     MakeSR();
  1301.     regs.sr &= 0xFF00;
  1302.     regs.sr |= src & 0xFF;
  1303.     MakeFromSR();
  1304. }}}}
  1305. void REGPARAM2 CPU_OP_NAME(_44e0)(uae_u32 opcode) /* MV2SR */
  1306. {
  1307.     uae_u32 srcreg = (opcode & 7);
  1308. {{    m68k_areg(regs, srcreg) -= 2;
  1309. {    uaecptr srca = m68k_areg(regs, srcreg);
  1310.     uae_s16 src = get_word(srca);
  1311.     MakeSR();
  1312.     regs.sr &= 0xFF00;
  1313.     regs.sr |= src & 0xFF;
  1314.     MakeFromSR();
  1315. }}}}
  1316. void REGPARAM2 CPU_OP_NAME(_44e8)(uae_u32 opcode) /* MV2SR */
  1317. {
  1318.     uae_u32 srcreg = (opcode & 7);
  1319. {{    uaecptr srca = m68k_areg(regs, srcreg) + (uae_s32)(uae_s16)nextiword();
  1320.     uae_s16 src = get_word(srca);
  1321.     MakeSR();
  1322.     regs.sr &= 0xFF00;
  1323.     regs.sr |= src & 0xFF;
  1324.     MakeFromSR();
  1325. }}}
  1326. void REGPARAM2 CPU_OP_NAME(_44f0)(uae_u32 opcode) /* MV2SR */
  1327. {
  1328.     uae_u32 srcreg = (opcode & 7);
  1329. {{    uaecptr srca = get_disp_ea(m68k_areg(regs, srcreg));
  1330. {    uae_s16 src = get_word(srca);
  1331.     MakeSR();
  1332.     regs.sr &= 0xFF00;
  1333.     regs.sr |= src & 0xFF;
  1334.     MakeFromSR();
  1335. }}}}
  1336. void REGPARAM2 CPU_OP_NAME(_44f8)(uae_u32 opcode) /* MV2SR */
  1337. {
  1338. {{    uaecptr srca = (uae_s32)(uae_s16)nextiword();
  1339.     uae_s16 src = get_word(srca);
  1340.     MakeSR();
  1341.     regs.sr &= 0xFF00;
  1342.     regs.sr |= src & 0xFF;
  1343.     MakeFromSR();
  1344. }}}
  1345. void REGPARAM2 CPU_OP_NAME(_44f9)(uae_u32 opcode) /* MV2SR */
  1346. {
  1347. {{    uaecptr srca = nextilong();
  1348.     uae_s16 src = get_word(srca);
  1349.     MakeSR();
  1350.     regs.sr &= 0xFF00;
  1351.     regs.sr |= src & 0xFF;
  1352.     MakeFromSR();
  1353. }}}
  1354. void REGPARAM2 CPU_OP_NAME(_44fa)(uae_u32 opcode) /* MV2SR */
  1355. {
  1356. {{    uaecptr srca = m68k_getpc();
  1357.     srca += (uae_s32)(uae_s16)nextiword();
  1358. {    uae_s16 src = get_word(srca);
  1359.     MakeSR();
  1360.     regs.sr &= 0xFF00;
  1361.     regs.sr |= src & 0xFF;
  1362.     MakeFromSR();
  1363. }}}}
  1364. void REGPARAM2 CPU_OP_NAME(_44fb)(uae_u32 opcode) /* MV2SR */
  1365. {
  1366. {{    uaecptr srca = get_disp_ea(m68k_getpc());
  1367. {    uae_s16 src = get_word(srca);
  1368.     MakeSR();
  1369.     regs.sr &= 0xFF00;
  1370.     regs.sr |= src & 0xFF;
  1371.     MakeFromSR();
  1372. }}}}
  1373. void REGPARAM2 CPU_OP_NAME(_44fc)(uae_u32 opcode) /* MV2SR */
  1374. {
  1375. {{    uae_s16 src = nextiword();
  1376.     MakeSR();
  1377.     regs.sr &= 0xFF00;
  1378.     regs.sr |= src & 0xFF;
  1379.     MakeFromSR();
  1380. }}}
  1381. void REGPARAM2 CPU_OP_NAME(_4600)(uae_u32 opcode) /* NOT */
  1382. {
  1383.     uae_u32 srcreg = (opcode & 7);
  1384. {{    uae_s8 src = m68k_dreg(regs, srcreg);
  1385. {    uae_u32 dst = ~src;
  1386.     VFLG = CFLG = 0;
  1387.     ZFLG = ((uae_s8)(dst)) == 0;
  1388.     NFLG = ((uae_s8)(dst)) < 0;
  1389.     m68k_dreg(regs, srcreg) = (m68k_dreg(regs, srcreg) & ~0xff) | ((dst) & 0xff);
  1390. }}}}
  1391. void REGPARAM2 CPU_OP_NAME(_4610)(uae_u32 opcode) /* NOT */
  1392. {
  1393.     uae_u32 srcreg = (opcode & 7);
  1394. {{    uaecptr srca = m68k_areg(regs, srcreg);
  1395.     uae_s8 src = get_byte(srca);
  1396. {    uae_u32 dst = ~src;
  1397.     VFLG = CFLG = 0;
  1398.     ZFLG = ((uae_s8)(dst)) == 0;
  1399.     NFLG = ((uae_s8)(dst)) < 0;
  1400.     put_byte(srca,dst);
  1401. }}}}
  1402. void REGPARAM2 CPU_OP_NAME(_4618)(uae_u32 opcode) /* NOT */
  1403. {
  1404.     uae_u32 srcreg = (opcode & 7);
  1405. {{    uaecptr srca = m68k_areg(regs, srcreg);
  1406.     uae_s8 src = get_byte(srca);
  1407. {    m68k_areg(regs, srcreg) += areg_byteinc[srcreg];
  1408. {    uae_u32 dst = ~src;
  1409.     VFLG = CFLG = 0;
  1410.     ZFLG = ((uae_s8)(dst)) == 0;
  1411.     NFLG = ((uae_s8)(dst)) < 0;
  1412.     put_byte(srca,dst);
  1413. }}}}}
  1414. void REGPARAM2 CPU_OP_NAME(_4620)(uae_u32 opcode) /* NOT */
  1415. {
  1416.     uae_u32 srcreg = (opcode & 7);
  1417. {{    m68k_areg(regs, srcreg) -= areg_byteinc[srcreg];
  1418. {    uaecptr srca = m68k_areg(regs, srcreg);
  1419.     uae_s8 src = get_byte(srca);
  1420. {    uae_u32 dst = ~src;
  1421.     VFLG = CFLG = 0;
  1422.     ZFLG = ((uae_s8)(dst)) == 0;
  1423.     NFLG = ((uae_s8)(dst)) < 0;
  1424.     put_byte(srca,dst);
  1425. }}}}}
  1426. void REGPARAM2 CPU_OP_NAME(_4628)(uae_u32 opcode) /* NOT */
  1427. {
  1428.     uae_u32 srcreg = (opcode & 7);
  1429. {{    uaecptr srca = m68k_areg(regs, srcreg) + (uae_s32)(uae_s16)nextiword();
  1430.     uae_s8 src = get_byte(srca);
  1431. {    uae_u32 dst = ~src;
  1432.     VFLG = CFLG = 0;
  1433.     ZFLG = ((uae_s8)(dst)) == 0;
  1434.     NFLG = ((uae_s8)(dst)) < 0;
  1435.     put_byte(srca,dst);
  1436. }}}}
  1437. void REGPARAM2 CPU_OP_NAME(_4630)(uae_u32 opcode) /* NOT */
  1438. {
  1439.     uae_u32 srcreg = (opcode & 7);
  1440. {{    uaecptr srca = get_disp_ea(m68k_areg(regs, srcreg));
  1441. {    uae_s8 src = get_byte(srca);
  1442. {    uae_u32 dst = ~src;
  1443.     VFLG = CFLG = 0;
  1444.     ZFLG = ((uae_s8)(dst)) == 0;
  1445.     NFLG = ((uae_s8)(dst)) < 0;
  1446.     put_byte(srca,dst);
  1447. }}}}}
  1448. void REGPARAM2 CPU_OP_NAME(_4638)(uae_u32 opcode) /* NOT */
  1449. {
  1450. {{    uaecptr srca = (uae_s32)(uae_s16)nextiword();
  1451.     uae_s8 src = get_byte(srca);
  1452. {    uae_u32 dst = ~src;
  1453.     VFLG = CFLG = 0;
  1454.     ZFLG = ((uae_s8)(dst)) == 0;
  1455.     NFLG = ((uae_s8)(dst)) < 0;
  1456.     put_byte(srca,dst);
  1457. }}}}
  1458. void REGPARAM2 CPU_OP_NAME(_4639)(uae_u32 opcode) /* NOT */
  1459. {
  1460. {{    uaecptr srca = nextilong();
  1461.     uae_s8 src = get_byte(srca);
  1462. {    uae_u32 dst = ~src;
  1463.     VFLG = CFLG = 0;
  1464.     ZFLG = ((uae_s8)(dst)) == 0;
  1465.     NFLG = ((uae_s8)(dst)) < 0;
  1466.     put_byte(srca,dst);
  1467. }}}}
  1468. void REGPARAM2 CPU_OP_NAME(_4640)(uae_u32 opcode) /* NOT */
  1469. {
  1470.     uae_u32 srcreg = (opcode & 7);
  1471. {{    uae_s16 src = m68k_dreg(regs, srcreg);
  1472. {    uae_u32 dst = ~src;
  1473.     VFLG = CFLG = 0;
  1474.     ZFLG = ((uae_s16)(dst)) == 0;
  1475.     NFLG = ((uae_s16)(dst)) < 0;
  1476.     m68k_dreg(regs, srcreg) = (m68k_dreg(regs, srcreg) & ~0xffff) | ((dst) & 0xffff);
  1477. }}}}
  1478. void REGPARAM2 CPU_OP_NAME(_4650)(uae_u32 opcode) /* NOT */
  1479. {
  1480.     uae_u32 srcreg = (opcode & 7);
  1481. {{    uaecptr srca = m68k_areg(regs, srcreg);
  1482.     uae_s16 src = get_word(srca);
  1483. {    uae_u32 dst = ~src;
  1484.     VFLG = CFLG = 0;
  1485.     ZFLG = ((uae_s16)(dst)) == 0;
  1486.     NFLG = ((uae_s16)(dst)) < 0;
  1487.     put_word(srca,dst);
  1488. }}}}
  1489. void REGPARAM2 CPU_OP_NAME(_4658)(uae_u32 opcode) /* NOT */
  1490. {
  1491.     uae_u32 srcreg = (opcode & 7);
  1492. {{    uaecptr srca = m68k_areg(regs, srcreg);
  1493.     uae_s16 src = get_word(srca);
  1494. {    m68k_areg(regs, srcreg) += 2;
  1495. {    uae_u32 dst = ~src;
  1496.     VFLG = CFLG = 0;
  1497.     ZFLG = ((uae_s16)(dst)) == 0;
  1498.     NFLG = ((uae_s16)(dst)) < 0;
  1499.     put_word(srca,dst);
  1500. }}}}}
  1501. void REGPARAM2 CPU_OP_NAME(_4660)(uae_u32 opcode) /* NOT */
  1502. {
  1503.     uae_u32 srcreg = (opcode & 7);
  1504. {{    m68k_areg(regs, srcreg) -= 2;
  1505. {    uaecptr srca = m68k_areg(regs, srcreg);
  1506.     uae_s16 src = get_word(srca);
  1507. {    uae_u32 dst = ~src;
  1508.     VFLG = CFLG = 0;
  1509.     ZFLG = ((uae_s16)(dst)) == 0;
  1510.     NFLG = ((uae_s16)(dst)) < 0;
  1511.     put_word(srca,dst);
  1512. }}}}}
  1513. void REGPARAM2 CPU_OP_NAME(_4668)(uae_u32 opcode) /* NOT */
  1514. {
  1515.     uae_u32 srcreg = (opcode & 7);
  1516. {{    uaecptr srca = m68k_areg(regs, srcreg) + (uae_s32)(uae_s16)nextiword();
  1517.     uae_s16 src = get_word(srca);
  1518. {    uae_u32 dst = ~src;
  1519.     VFLG = CFLG = 0;
  1520.     ZFLG = ((uae_s16)(dst)) == 0;
  1521.     NFLG = ((uae_s16)(dst)) < 0;
  1522.     put_word(srca,dst);
  1523. }}}}
  1524. void REGPARAM2 CPU_OP_NAME(_4670)(uae_u32 opcode) /* NOT */
  1525. {
  1526.     uae_u32 srcreg = (opcode & 7);
  1527. {{    uaecptr srca = get_disp_ea(m68k_areg(regs, srcreg));
  1528. {    uae_s16 src = get_word(srca);
  1529. {    uae_u32 dst = ~src;
  1530.     VFLG = CFLG = 0;
  1531.     ZFLG = ((uae_s16)(dst)) == 0;
  1532.     NFLG = ((uae_s16)(dst)) < 0;
  1533.     put_word(srca,dst);
  1534. }}}}}
  1535. void REGPARAM2 CPU_OP_NAME(_4678)(uae_u32 opcode) /* NOT */
  1536. {
  1537. {{    uaecptr srca = (uae_s32)(uae_s16)nextiword();
  1538.     uae_s16 src = get_word(srca);
  1539. {    uae_u32 dst = ~src;
  1540.     VFLG = CFLG = 0;
  1541.     ZFLG = ((uae_s16)(dst)) == 0;
  1542.     NFLG = ((uae_s16)(dst)) < 0;
  1543.     put_word(srca,dst);
  1544. }}}}
  1545. void REGPARAM2 CPU_OP_NAME(_4679)(uae_u32 opcode) /* NOT */
  1546. {
  1547. {{    uaecptr srca = nextilong();
  1548.     uae_s16 src = get_word(srca);
  1549. {    uae_u32 dst = ~src;
  1550.     VFLG = CFLG = 0;
  1551.     ZFLG = ((uae_s16)(dst)) == 0;
  1552.     NFLG = ((uae_s16)(dst)) < 0;
  1553.     put_word(srca,dst);
  1554. }}}}
  1555. void REGPARAM2 CPU_OP_NAME(_4680)(uae_u32 opcode) /* NOT */
  1556. {
  1557.     uae_u32 srcreg = (opcode & 7);
  1558. {{    uae_s32 src = m68k_dreg(regs, srcreg);
  1559. {    uae_u32 dst = ~src;
  1560.     VFLG = CFLG = 0;
  1561.     ZFLG = ((uae_s32)(dst)) == 0;
  1562.     NFLG = ((uae_s32)(dst)) < 0;
  1563.     m68k_dreg(regs, srcreg) = (dst);
  1564. }}}}
  1565. void REGPARAM2 CPU_OP_NAME(_4690)(uae_u32 opcode) /* NOT */
  1566. {
  1567.     uae_u32 srcreg = (opcode & 7);
  1568. {{    uaecptr srca = m68k_areg(regs, srcreg);
  1569.     uae_s32 src = get_long(srca);
  1570. {    uae_u32 dst = ~src;
  1571.     VFLG = CFLG = 0;
  1572.     ZFLG = ((uae_s32)(dst)) == 0;
  1573.     NFLG = ((uae_s32)(dst)) < 0;
  1574.     put_long(srca,dst);
  1575. }}}}
  1576. void REGPARAM2 CPU_OP_NAME(_4698)(uae_u32 opcode) /* NOT */
  1577. {
  1578.     uae_u32 srcreg = (opcode & 7);
  1579. {{    uaecptr srca = m68k_areg(regs, srcreg);
  1580.     uae_s32 src = get_long(srca);
  1581. {    m68k_areg(regs, srcreg) += 4;
  1582. {    uae_u32 dst = ~src;
  1583.     VFLG = CFLG = 0;
  1584.     ZFLG = ((uae_s32)(dst)) == 0;
  1585.     NFLG = ((uae_s32)(dst)) < 0;
  1586.     put_long(srca,dst);
  1587. }}}}}
  1588. void REGPARAM2 CPU_OP_NAME(_46a0)(uae_u32 opcode) /* NOT */
  1589. {
  1590.     uae_u32 srcreg = (opcode & 7);
  1591. {{    m68k_areg(regs, srcreg) -= 4;
  1592. {    uaecptr srca = m68k_areg(regs, srcreg);
  1593.     uae_s32 src = get_long(srca);
  1594. {    uae_u32 dst = ~src;
  1595.     VFLG = CFLG = 0;
  1596.     ZFLG = ((uae_s32)(dst)) == 0;
  1597.     NFLG = ((uae_s32)(dst)) < 0;
  1598.     put_long(srca,dst);
  1599. }}}}}
  1600. void REGPARAM2 CPU_OP_NAME(_46a8)(uae_u32 opcode) /* NOT */
  1601. {
  1602.     uae_u32 srcreg = (opcode & 7);
  1603. {{    uaecptr srca = m68k_areg(regs, srcreg) + (uae_s32)(uae_s16)nextiword();
  1604.     uae_s32 src = get_long(srca);
  1605. {    uae_u32 dst = ~src;
  1606.     VFLG = CFLG = 0;
  1607.     ZFLG = ((uae_s32)(dst)) == 0;
  1608.     NFLG = ((uae_s32)(dst)) < 0;
  1609.     put_long(srca,dst);
  1610. }}}}
  1611. void REGPARAM2 CPU_OP_NAME(_46b0)(uae_u32 opcode) /* NOT */
  1612. {
  1613.     uae_u32 srcreg = (opcode & 7);
  1614. {{    uaecptr srca = get_disp_ea(m68k_areg(regs, srcreg));
  1615. {    uae_s32 src = get_long(srca);
  1616. {    uae_u32 dst = ~src;
  1617.     VFLG = CFLG = 0;
  1618.     ZFLG = ((uae_s32)(dst)) == 0;
  1619.     NFLG = ((uae_s32)(dst)) < 0;
  1620.     put_long(srca,dst);
  1621. }}}}}
  1622. void REGPARAM2 CPU_OP_NAME(_46b8)(uae_u32 opcode) /* NOT */
  1623. {
  1624. {{    uaecptr srca = (uae_s32)(uae_s16)nextiword();
  1625.     uae_s32 src = get_long(srca);
  1626. {    uae_u32 dst = ~src;
  1627.     VFLG = CFLG = 0;
  1628.     ZFLG = ((uae_s32)(dst)) == 0;
  1629.     NFLG = ((uae_s32)(dst)) < 0;
  1630.     put_long(srca,dst);
  1631. }}}}
  1632. void REGPARAM2 CPU_OP_NAME(_46b9)(uae_u32 opcode) /* NOT */
  1633. {
  1634. {{    uaecptr srca = nextilong();
  1635.     uae_s32 src = get_long(srca);
  1636. {    uae_u32 dst = ~src;
  1637.     VFLG = CFLG = 0;
  1638.     ZFLG = ((uae_s32)(dst)) == 0;
  1639.     NFLG = ((uae_s32)(dst)) < 0;
  1640.     put_long(srca,dst);
  1641. }}}}
  1642. void REGPARAM2 CPU_OP_NAME(_46c0)(uae_u32 opcode) /* MV2SR */
  1643. {
  1644.     uae_u32 srcreg = (opcode & 7);
  1645. {if (!regs.s) { regs.pc_p -= 2; Exception(8,0); } else
  1646. {{    uae_s16 src = m68k_dreg(regs, srcreg);
  1647.     regs.sr = src;
  1648.     MakeFromSR();
  1649. }}}}
  1650. void REGPARAM2 CPU_OP_NAME(_46d0)(uae_u32 opcode) /* MV2SR */
  1651. {
  1652.     uae_u32 srcreg = (opcode & 7);
  1653. {if (!regs.s) { regs.pc_p -= 2; Exception(8,0); } else
  1654. {{    uaecptr srca = m68k_areg(regs, srcreg);
  1655.     uae_s16 src = get_word(srca);
  1656.     regs.sr = src;
  1657.     MakeFromSR();
  1658. }}}}
  1659. void REGPARAM2 CPU_OP_NAME(_46d8)(uae_u32 opcode) /* MV2SR */
  1660. {
  1661.     uae_u32 srcreg = (opcode & 7);
  1662. {if (!regs.s) { regs.pc_p -= 2; Exception(8,0); } else
  1663. {{    uaecptr srca = m68k_areg(regs, srcreg);
  1664.     uae_s16 src = get_word(srca);
  1665. {    m68k_areg(regs, srcreg) += 2;
  1666.     regs.sr = src;
  1667.     MakeFromSR();
  1668. }}}}}
  1669. void REGPARAM2 CPU_OP_NAME(_46e0)(uae_u32 opcode) /* MV2SR */
  1670. {
  1671.     uae_u32 srcreg = (opcode & 7);
  1672. {if (!regs.s) { regs.pc_p -= 2; Exception(8,0); } else
  1673. {{    m68k_areg(regs, srcreg) -= 2;
  1674. {    uaecptr srca = m68k_areg(regs, srcreg);
  1675.     uae_s16 src = get_word(srca);
  1676.     regs.sr = src;
  1677.     MakeFromSR();
  1678. }}}}}
  1679. void REGPARAM2 CPU_OP_NAME(_46e8)(uae_u32 opcode) /* MV2SR */
  1680. {
  1681.     uae_u32 srcreg = (opcode & 7);
  1682. {if (!regs.s) { regs.pc_p -= 2; Exception(8,0); } else
  1683. {{    uaecptr srca = m68k_areg(regs, srcreg) + (uae_s32)(uae_s16)nextiword();
  1684.     uae_s16 src = get_word(srca);
  1685.     regs.sr = src;
  1686.     MakeFromSR();
  1687. }}}}
  1688. void REGPARAM2 CPU_OP_NAME(_46f0)(uae_u32 opcode) /* MV2SR */
  1689. {
  1690.     uae_u32 srcreg = (opcode & 7);
  1691. {if (!regs.s) { regs.pc_p -= 2; Exception(8,0); } else
  1692. {{    uaecptr srca = get_disp_ea(m68k_areg(regs, srcreg));
  1693. {    uae_s16 src = get_word(srca);
  1694.     regs.sr = src;
  1695.     MakeFromSR();
  1696. }}}}}
  1697. void REGPARAM2 CPU_OP_NAME(_46f8)(uae_u32 opcode) /* MV2SR */
  1698. {
  1699. {if (!regs.s) { regs.pc_p -= 2; Exception(8,0); } else
  1700. {{    uaecptr srca = (uae_s32)(uae_s16)nextiword();
  1701.     uae_s16 src = get_word(srca);
  1702.     regs.sr = src;
  1703.     MakeFromSR();
  1704. }}}}
  1705. void REGPARAM2 CPU_OP_NAME(_46f9)(uae_u32 opcode) /* MV2SR */
  1706. {
  1707. {if (!regs.s) { regs.pc_p -= 2; Exception(8,0); } else
  1708. {{    uaecptr srca = nextilong();
  1709.     uae_s16 src = get_word(srca);
  1710.     regs.sr = src;
  1711.     MakeFromSR();
  1712. }}}}
  1713. void REGPARAM2 CPU_OP_NAME(_46fa)(uae_u32 opcode) /* MV2SR */
  1714. {
  1715. {if (!regs.s) { regs.pc_p -= 2; Exception(8,0); } else
  1716. {{    uaecptr srca = m68k_getpc();
  1717.     srca += (uae_s32)(uae_s16)nextiword();
  1718. {    uae_s16 src = get_word(srca);
  1719.     regs.sr = src;
  1720.     MakeFromSR();
  1721. }}}}}
  1722. void REGPARAM2 CPU_OP_NAME(_46fb)(uae_u32 opcode) /* MV2SR */
  1723. {
  1724. {if (!regs.s) { regs.pc_p -= 2; Exception(8,0); } else
  1725. {{    uaecptr srca = get_disp_ea(m68k_getpc());
  1726. {    uae_s16 src = get_word(srca);
  1727.     regs.sr = src;
  1728.     MakeFromSR();
  1729. }}}}}
  1730. void REGPARAM2 CPU_OP_NAME(_46fc)(uae_u32 opcode) /* MV2SR */
  1731. {
  1732. {if (!regs.s) { regs.pc_p -= 2; Exception(8,0); } else
  1733. {{    uae_s16 src = nextiword();
  1734.     regs.sr = src;
  1735.     MakeFromSR();
  1736. }}}}
  1737. void REGPARAM2 CPU_OP_NAME(_4800)(uae_u32 opcode) /* NBCD */
  1738. {
  1739.     uae_u32 srcreg = (opcode & 7);
  1740. {{    uae_s8 src = m68k_dreg(regs, srcreg);
  1741. {    uae_u16 newv_lo = - (src & 0xF) - (XFLG ? 1 : 0);
  1742.     uae_u16 newv_hi = - (src & 0xF0);
  1743.     uae_u16 newv;
  1744.     if (newv_lo > 9) { newv_lo-=6; newv_hi-=0x10; }
  1745.     newv = newv_hi + (newv_lo & 0xF);    CFLG = XFLG = (newv_hi & 0x1F0) > 0x90;
  1746.     if (CFLG) newv -= 0x60;
  1747.     if (((uae_s8)(newv)) != 0) ZFLG = 0;
  1748.     NFLG = ((uae_s8)(newv)) < 0;
  1749.     m68k_dreg(regs, srcreg) = (m68k_dreg(regs, srcreg) & ~0xff) | ((newv) & 0xff);
  1750. }}}}
  1751. void REGPARAM2 CPU_OP_NAME(_4810)(uae_u32 opcode) /* NBCD */
  1752. {
  1753.     uae_u32 srcreg = (opcode & 7);
  1754. {{    uaecptr srca = m68k_areg(regs, srcreg);
  1755.     uae_s8 src = get_byte(srca);
  1756. {    uae_u16 newv_lo = - (src & 0xF) - (XFLG ? 1 : 0);
  1757.     uae_u16 newv_hi = - (src & 0xF0);
  1758.     uae_u16 newv;
  1759.     if (newv_lo > 9) { newv_lo-=6; newv_hi-=0x10; }
  1760.     newv = newv_hi + (newv_lo & 0xF);    CFLG = XFLG = (newv_hi & 0x1F0) > 0x90;
  1761.     if (CFLG) newv -= 0x60;
  1762.     if (((uae_s8)(newv)) != 0) ZFLG = 0;
  1763.     NFLG = ((uae_s8)(newv)) < 0;
  1764.     put_byte(srca,newv);
  1765. }}}}
  1766. void REGPARAM2 CPU_OP_NAME(_4818)(uae_u32 opcode) /* NBCD */
  1767. {
  1768.     uae_u32 srcreg = (opcode & 7);
  1769. {{    uaecptr srca = m68k_areg(regs, srcreg);
  1770.     uae_s8 src = get_byte(srca);
  1771. {    m68k_areg(regs, srcreg) += areg_byteinc[srcreg];
  1772. {    uae_u16 newv_lo = - (src & 0xF) - (XFLG ? 1 : 0);
  1773.     uae_u16 newv_hi = - (src & 0xF0);
  1774.     uae_u16 newv;
  1775.     if (newv_lo > 9) { newv_lo-=6; newv_hi-=0x10; }
  1776.     newv = newv_hi + (newv_lo & 0xF);    CFLG = XFLG = (newv_hi & 0x1F0) > 0x90;
  1777.     if (CFLG) newv -= 0x60;
  1778.     if (((uae_s8)(newv)) != 0) ZFLG = 0;
  1779.     NFLG = ((uae_s8)(newv)) < 0;
  1780.     put_byte(srca,newv);
  1781. }}}}}
  1782. void REGPARAM2 CPU_OP_NAME(_4820)(uae_u32 opcode) /* NBCD */
  1783. {
  1784.     uae_u32 srcreg = (opcode & 7);
  1785. {{    m68k_areg(regs, srcreg) -= areg_byteinc[srcreg];
  1786. {    uaecptr srca = m68k_areg(regs, srcreg);
  1787.     uae_s8 src = get_byte(srca);
  1788. {    uae_u16 newv_lo = - (src & 0xF) - (XFLG ? 1 : 0);
  1789.     uae_u16 newv_hi = - (src & 0xF0);
  1790.     uae_u16 newv;
  1791.     if (newv_lo > 9) { newv_lo-=6; newv_hi-=0x10; }
  1792.     newv = newv_hi + (newv_lo & 0xF);    CFLG = XFLG = (newv_hi & 0x1F0) > 0x90;
  1793.     if (CFLG) newv -= 0x60;
  1794.     if (((uae_s8)(newv)) != 0) ZFLG = 0;
  1795.     NFLG = ((uae_s8)(newv)) < 0;
  1796.     put_byte(srca,newv);
  1797. }}}}}
  1798. void REGPARAM2 CPU_OP_NAME(_4828)(uae_u32 opcode) /* NBCD */
  1799. {
  1800.     uae_u32 srcreg = (opcode & 7);
  1801. {{    uaecptr srca = m68k_areg(regs, srcreg) + (uae_s32)(uae_s16)nextiword();
  1802.     uae_s8 src = get_byte(srca);
  1803. {    uae_u16 newv_lo = - (src & 0xF) - (XFLG ? 1 : 0);
  1804.     uae_u16 newv_hi = - (src & 0xF0);
  1805.     uae_u16 newv;
  1806.     if (newv_lo > 9) { newv_lo-=6; newv_hi-=0x10; }
  1807.     newv = newv_hi + (newv_lo & 0xF);    CFLG = XFLG = (newv_hi & 0x1F0) > 0x90;
  1808.     if (CFLG) newv -= 0x60;
  1809.     if (((uae_s8)(newv)) != 0) ZFLG = 0;
  1810.     NFLG = ((uae_s8)(newv)) < 0;
  1811.     put_byte(srca,newv);
  1812. }}}}
  1813. void REGPARAM2 CPU_OP_NAME(_4830)(uae_u32 opcode) /* NBCD */
  1814. {
  1815.     uae_u32 srcreg = (opcode & 7);
  1816. {{    uaecptr srca = get_disp_ea(m68k_areg(regs, srcreg));
  1817. {    uae_s8 src = get_byte(srca);
  1818. {    uae_u16 newv_lo = - (src & 0xF) - (XFLG ? 1 : 0);
  1819.     uae_u16 newv_hi = - (src & 0xF0);
  1820.     uae_u16 newv;
  1821.     if (newv_lo > 9) { newv_lo-=6; newv_hi-=0x10; }
  1822.     newv = newv_hi + (newv_lo & 0xF);    CFLG = XFLG = (newv_hi & 0x1F0) > 0x90;
  1823.     if (CFLG) newv -= 0x60;
  1824.     if (((uae_s8)(newv)) != 0) ZFLG = 0;
  1825.     NFLG = ((uae_s8)(newv)) < 0;
  1826.     put_byte(srca,newv);
  1827. }}}}}
  1828. void REGPARAM2 CPU_OP_NAME(_4838)(uae_u32 opcode) /* NBCD */
  1829. {
  1830. {{    uaecptr srca = (uae_s32)(uae_s16)nextiword();
  1831.     uae_s8 src = get_byte(srca);
  1832. {    uae_u16 newv_lo = - (src & 0xF) - (XFLG ? 1 : 0);
  1833.     uae_u16 newv_hi = - (src & 0xF0);
  1834.     uae_u16 newv;
  1835.     if (newv_lo > 9) { newv_lo-=6; newv_hi-=0x10; }
  1836.     newv = newv_hi + (newv_lo & 0xF);    CFLG = XFLG = (newv_hi & 0x1F0) > 0x90;
  1837.     if (CFLG) newv -= 0x60;
  1838.     if (((uae_s8)(newv)) != 0) ZFLG = 0;
  1839.     NFLG = ((uae_s8)(newv)) < 0;
  1840.     put_byte(srca,newv);
  1841. }}}}
  1842. void REGPARAM2 CPU_OP_NAME(_4839)(uae_u32 opcode) /* NBCD */
  1843. {
  1844. {{    uaecptr srca = nextilong();
  1845.     uae_s8 src = get_byte(srca);
  1846. {    uae_u16 newv_lo = - (src & 0xF) - (XFLG ? 1 : 0);
  1847.     uae_u16 newv_hi = - (src & 0xF0);
  1848.     uae_u16 newv;
  1849.     if (newv_lo > 9) { newv_lo-=6; newv_hi-=0x10; }
  1850.     newv = newv_hi + (newv_lo & 0xF);    CFLG = XFLG = (newv_hi & 0x1F0) > 0x90;
  1851.     if (CFLG) newv -= 0x60;
  1852.     if (((uae_s8)(newv)) != 0) ZFLG = 0;
  1853.     NFLG = ((uae_s8)(newv)) < 0;
  1854.     put_byte(srca,newv);
  1855. }}}}
  1856. void REGPARAM2 CPU_OP_NAME(_4840)(uae_u32 opcode) /* SWAP */
  1857. {
  1858.     uae_u32 srcreg = (opcode & 7);
  1859. {{    uae_s32 src = m68k_dreg(regs, srcreg);
  1860. {    uae_u32 dst = ((src >> 16)&0xFFFF) | ((src&0xFFFF)<<16);
  1861.     VFLG = CFLG = 0;
  1862.     ZFLG = ((uae_s32)(dst)) == 0;
  1863.     NFLG = ((uae_s32)(dst)) < 0;
  1864.     m68k_dreg(regs, srcreg) = (dst);
  1865. }}}}
  1866. void REGPARAM2 CPU_OP_NAME(_4850)(uae_u32 opcode) /* PEA */
  1867. {
  1868.     uae_u32 srcreg = (opcode & 7);
  1869. {{    uaecptr srca = m68k_areg(regs, srcreg);
  1870. {    m68k_areg(regs, 7) -= 4;
  1871. {    uaecptr dsta = m68k_areg(regs, 7);
  1872.     put_long(dsta,srca);
  1873. }}}}}
  1874. void REGPARAM2 CPU_OP_NAME(_4868)(uae_u32 opcode) /* PEA */
  1875. {
  1876.     uae_u32 srcreg = (opcode & 7);
  1877. {{    uaecptr srca = m68k_areg(regs, srcreg) + (uae_s32)(uae_s16)nextiword();
  1878. {    m68k_areg(regs, 7) -= 4;
  1879. {    uaecptr dsta = m68k_areg(regs, 7);
  1880.     put_long(dsta,srca);
  1881. }}}}}
  1882. void REGPARAM2 CPU_OP_NAME(_4870)(uae_u32 opcode) /* PEA */
  1883. {
  1884.     uae_u32 srcreg = (opcode & 7);
  1885. {{    uaecptr srca = get_disp_ea(m68k_areg(regs, srcreg));
  1886. {    m68k_areg(regs, 7) -= 4;
  1887. {    uaecptr dsta = m68k_areg(regs, 7);
  1888.     put_long(dsta,srca);
  1889. }}}}}
  1890. void REGPARAM2 CPU_OP_NAME(_4878)(uae_u32 opcode) /* PEA */
  1891. {
  1892. {{    uaecptr srca = (uae_s32)(uae_s16)nextiword();
  1893. {    m68k_areg(regs, 7) -= 4;
  1894. {    uaecptr dsta = m68k_areg(regs, 7);
  1895.     put_long(dsta,srca);
  1896. }}}}}
  1897. void REGPARAM2 CPU_OP_NAME(_4879)(uae_u32 opcode) /* PEA */
  1898. {
  1899. {{    uaecptr srca = nextilong();
  1900. {    m68k_areg(regs, 7) -= 4;
  1901. {    uaecptr dsta = m68k_areg(regs, 7);
  1902.     put_long(dsta,srca);
  1903. }}}}}
  1904. void REGPARAM2 CPU_OP_NAME(_487a)(uae_u32 opcode) /* PEA */
  1905. {
  1906. {{    uaecptr srca = m68k_getpc();
  1907.     srca += (uae_s32)(uae_s16)nextiword();
  1908. {    m68k_areg(regs, 7) -= 4;
  1909. {    uaecptr dsta = m68k_areg(regs, 7);
  1910.     put_long(dsta,srca);
  1911. }}}}}
  1912. void REGPARAM2 CPU_OP_NAME(_487b)(uae_u32 opcode) /* PEA */
  1913. {
  1914. {{    uaecptr srca = get_disp_ea(m68k_getpc());
  1915. {    m68k_areg(regs, 7) -= 4;
  1916. {    uaecptr dsta = m68k_areg(regs, 7);
  1917.     put_long(dsta,srca);
  1918. }}}}}
  1919. void REGPARAM2 CPU_OP_NAME(_4880)(uae_u32 opcode) /* EXT */
  1920. {
  1921.     uae_u32 srcreg = (opcode & 7);
  1922. {{    uae_s32 src = m68k_dreg(regs, srcreg);
  1923. {    uae_u16 dst = (uae_s16)(uae_s8)src;
  1924.     VFLG = CFLG = 0;
  1925.     ZFLG = ((uae_s16)(dst)) == 0;
  1926.     NFLG = ((uae_s16)(dst)) < 0;
  1927.     m68k_dreg(regs, srcreg) = (m68k_dreg(regs, srcreg) & ~0xffff) | ((dst) & 0xffff);
  1928. }}}}
  1929. void REGPARAM2 CPU_OP_NAME(_4890)(uae_u32 opcode) /* MVMLE */
  1930. {
  1931.     uae_u32 dstreg = opcode & 7;
  1932. {    uae_u16 mask = nextiword();
  1933. {    uaecptr srca = m68k_areg(regs, dstreg);
  1934. {    uae_u16 dmask = mask & 0xff, amask = (mask >> 8) & 0xff;
  1935.     while (dmask) { put_word(srca, m68k_dreg(regs, movem_index1[dmask])); srca += 2; dmask = movem_next[dmask]; }
  1936.     while (amask) { put_word(srca, m68k_areg(regs, movem_index1[amask])); srca += 2; amask = movem_next[amask]; }
  1937. }}}}
  1938. void REGPARAM2 CPU_OP_NAME(_48a0)(uae_u32 opcode) /* MVMLE */
  1939. {
  1940.     uae_u32 dstreg = opcode & 7;
  1941. {    uae_u16 mask = nextiword();
  1942. {{    uaecptr srca = m68k_areg(regs, dstreg);
  1943. {    uae_u16 amask = mask & 0xff, dmask = (mask >> 8) & 0xff;
  1944.     while (amask) { srca -= 2; put_word(srca, m68k_areg(regs, movem_index2[amask])); amask = movem_next[amask]; }
  1945.     while (dmask) { srca -= 2; put_word(srca, m68k_dreg(regs, movem_index2[dmask])); dmask = movem_next[dmask]; }
  1946.     m68k_areg(regs, dstreg) = srca;
  1947. }}}}}
  1948. void REGPARAM2 CPU_OP_NAME(_48a8)(uae_u32 opcode) /* MVMLE */
  1949. {
  1950.     uae_u32 dstreg = opcode & 7;
  1951. {    uae_u16 mask = nextiword();
  1952. {    uaecptr srca = m68k_areg(regs, dstreg) + (uae_s32)(uae_s16)nextiword();
  1953. {    uae_u16 dmask = mask & 0xff, amask = (mask >> 8) & 0xff;
  1954.     while (dmask) { put_word(srca, m68k_dreg(regs, movem_index1[dmask])); srca += 2; dmask = movem_next[dmask]; }
  1955.     while (amask) { put_word(srca, m68k_areg(regs, movem_index1[amask])); srca += 2; amask = movem_next[amask]; }
  1956. }}}}
  1957. void REGPARAM2 CPU_OP_NAME(_48b0)(uae_u32 opcode) /* MVMLE */
  1958. {
  1959.     uae_u32 dstreg = opcode & 7;
  1960. {    uae_u16 mask = nextiword();
  1961. {    uaecptr srca = get_disp_ea(m68k_areg(regs, dstreg));
  1962. {    uae_u16 dmask = mask & 0xff, amask = (mask >> 8) & 0xff;
  1963.     while (dmask) { put_word(srca, m68k_dreg(regs, movem_index1[dmask])); srca += 2; dmask = movem_next[dmask]; }
  1964.     while (amask) { put_word(srca, m68k_areg(regs, movem_index1[amask])); srca += 2; amask = movem_next[amask]; }
  1965. }}}}
  1966. void REGPARAM2 CPU_OP_NAME(_48b8)(uae_u32 opcode) /* MVMLE */
  1967. {
  1968. {    uae_u16 mask = nextiword();
  1969. {    uaecptr srca = (uae_s32)(uae_s16)nextiword();
  1970. {    uae_u16 dmask = mask & 0xff, amask = (mask >> 8) & 0xff;
  1971.     while (dmask) { put_word(srca, m68k_dreg(regs, movem_index1[dmask])); srca += 2; dmask = movem_next[dmask]; }
  1972.     while (amask) { put_word(srca, m68k_areg(regs, movem_index1[amask])); srca += 2; amask = movem_next[amask]; }
  1973. }}}}
  1974. void REGPARAM2 CPU_OP_NAME(_48b9)(uae_u32 opcode) /* MVMLE */
  1975. {
  1976. {    uae_u16 mask = nextiword();
  1977. {    uaecptr srca = nextilong();
  1978. {    uae_u16 dmask = mask & 0xff, amask = (mask >> 8) & 0xff;
  1979.     while (dmask) { put_word(srca, m68k_dreg(regs, movem_index1[dmask])); srca += 2; dmask = movem_next[dmask]; }
  1980.     while (amask) { put_word(srca, m68k_areg(regs, movem_index1[amask])); srca += 2; amask = movem_next[amask]; }
  1981. }}}}
  1982. void REGPARAM2 CPU_OP_NAME(_48c0)(uae_u32 opcode) /* EXT */
  1983. {
  1984.     uae_u32 srcreg = (opcode & 7);
  1985. {{    uae_s32 src = m68k_dreg(regs, srcreg);
  1986. {    uae_u32 dst = (uae_s32)(uae_s16)src;
  1987.     VFLG = CFLG = 0;
  1988.     ZFLG = ((uae_s32)(dst)) == 0;
  1989.     NFLG = ((uae_s32)(dst)) < 0;
  1990.     m68k_dreg(regs, srcreg) = (dst);
  1991. }}}}
  1992. void REGPARAM2 CPU_OP_NAME(_48d0)(uae_u32 opcode) /* MVMLE */
  1993. {
  1994.     uae_u32 dstreg = opcode & 7;
  1995. {    uae_u16 mask = nextiword();
  1996. {    uaecptr srca = m68k_areg(regs, dstreg);
  1997. {    uae_u16 dmask = mask & 0xff, amask = (mask >> 8) & 0xff;
  1998.     while (dmask) { put_long(srca, m68k_dreg(regs, movem_index1[dmask])); srca += 4; dmask = movem_next[dmask]; }
  1999.     while (amask) { put_long(srca, m68k_areg(regs, movem_index1[amask])); srca += 4; amask = movem_next[amask]; }
  2000. }}}}
  2001. void REGPARAM2 CPU_OP_NAME(_48e0)(uae_u32 opcode) /* MVMLE */
  2002. {
  2003.     uae_u32 dstreg = opcode & 7;
  2004. {    uae_u16 mask = nextiword();
  2005. {{    uaecptr srca = m68k_areg(regs, dstreg);
  2006. {    uae_u16 amask = mask & 0xff, dmask = (mask >> 8) & 0xff;
  2007.     while (amask) { srca -= 4; put_long(srca, m68k_areg(regs, movem_index2[amask])); amask = movem_next[amask]; }
  2008.     while (dmask) { srca -= 4; put_long(srca, m68k_dreg(regs, movem_index2[dmask])); dmask = movem_next[dmask]; }
  2009.     m68k_areg(regs, dstreg) = srca;
  2010. }}}}}
  2011. void REGPARAM2 CPU_OP_NAME(_48e8)(uae_u32 opcode) /* MVMLE */
  2012. {
  2013.     uae_u32 dstreg = opcode & 7;
  2014. {    uae_u16 mask = nextiword();
  2015. {    uaecptr srca = m68k_areg(regs, dstreg) + (uae_s32)(uae_s16)nextiword();
  2016. {    uae_u16 dmask = mask & 0xff, amask = (mask >> 8) & 0xff;
  2017.     while (dmask) { put_long(srca, m68k_dreg(regs, movem_index1[dmask])); srca += 4; dmask = movem_next[dmask]; }
  2018.     while (amask) { put_long(srca, m68k_areg(regs, movem_index1[amask])); srca += 4; amask = movem_next[amask]; }
  2019. }}}}
  2020. void REGPARAM2 CPU_OP_NAME(_48f0)(uae_u32 opcode) /* MVMLE */
  2021. {
  2022.     uae_u32 dstreg = opcode & 7;
  2023. {    uae_u16 mask = nextiword();
  2024. {    uaecptr srca = get_disp_ea(m68k_areg(regs, dstreg));
  2025. {    uae_u16 dmask = mask & 0xff, amask = (mask >> 8) & 0xff;
  2026.     while (dmask) { put_long(srca, m68k_dreg(regs, movem_index1[dmask])); srca += 4; dmask = movem_next[dmask]; }
  2027.     while (amask) { put_long(srca, m68k_areg(regs, movem_index1[amask])); srca += 4; amask = movem_next[amask]; }
  2028. }}}}
  2029. void REGPARAM2 CPU_OP_NAME(_48f8)(uae_u32 opcode) /* MVMLE */
  2030. {
  2031. {    uae_u16 mask = nextiword();
  2032. {    uaecptr srca = (uae_s32)(uae_s16)nextiword();
  2033. {    uae_u16 dmask = mask & 0xff, amask = (mask >> 8) & 0xff;
  2034.     while (dmask) { put_long(srca, m68k_dreg(regs, movem_index1[dmask])); srca += 4; dmask = movem_next[dmask]; }
  2035.     while (amask) { put_long(srca, m68k_areg(regs, movem_index1[amask])); srca += 4; amask = movem_next[amask]; }
  2036. }}}}
  2037. void REGPARAM2 CPU_OP_NAME(_48f9)(uae_u32 opcode) /* MVMLE */
  2038. {
  2039. {    uae_u16 mask = nextiword();
  2040. {    uaecptr srca = nextilong();
  2041. {    uae_u16 dmask = mask & 0xff, amask = (mask >> 8) & 0xff;
  2042.     while (dmask) { put_long(srca, m68k_dreg(regs, movem_index1[dmask])); srca += 4; dmask = movem_next[dmask]; }
  2043.     while (amask) { put_long(srca, m68k_areg(regs, movem_index1[amask])); srca += 4; amask = movem_next[amask]; }
  2044. }}}}
  2045. void REGPARAM2 CPU_OP_NAME(_49c0)(uae_u32 opcode) /* EXT */
  2046. {
  2047.     uae_u32 srcreg = (opcode & 7);
  2048. {{    uae_s32 src = m68k_dreg(regs, srcreg);
  2049. {    uae_u32 dst = (uae_s32)(uae_s8)src;
  2050.     VFLG = CFLG = 0;
  2051.     ZFLG = ((uae_s32)(dst)) == 0;
  2052.     NFLG = ((uae_s32)(dst)) < 0;
  2053.     m68k_dreg(regs, srcreg) = (dst);
  2054. }}}}
  2055. void REGPARAM2 CPU_OP_NAME(_4a00)(uae_u32 opcode) /* TST */
  2056. {
  2057.     uae_u32 srcreg = (opcode & 7);
  2058. {{    uae_s8 src = m68k_dreg(regs, srcreg);
  2059.     VFLG = CFLG = 0;
  2060.     ZFLG = ((uae_s8)(src)) == 0;
  2061.     NFLG = ((uae_s8)(src)) < 0;
  2062. }}}
  2063. void REGPARAM2 CPU_OP_NAME(_4a10)(uae_u32 opcode) /* TST */
  2064. {
  2065.     uae_u32 srcreg = (opcode & 7);
  2066. {{    uaecptr srca = m68k_areg(regs, srcreg);
  2067.     uae_s8 src = get_byte(srca);
  2068.     VFLG = CFLG = 0;
  2069.     ZFLG = ((uae_s8)(src)) == 0;
  2070.     NFLG = ((uae_s8)(src)) < 0;
  2071. }}}
  2072. void REGPARAM2 CPU_OP_NAME(_4a18)(uae_u32 opcode) /* TST */
  2073. {
  2074.     uae_u32 srcreg = (opcode & 7);
  2075. {{    uaecptr srca = m68k_areg(regs, srcreg);
  2076.     uae_s8 src = get_byte(srca);
  2077. {    m68k_areg(regs, srcreg) += areg_byteinc[srcreg];
  2078.     VFLG = CFLG = 0;
  2079.     ZFLG = ((uae_s8)(src)) == 0;
  2080.     NFLG = ((uae_s8)(src)) < 0;
  2081. }}}}
  2082. void REGPARAM2 CPU_OP_NAME(_4a20)(uae_u32 opcode) /* TST */
  2083. {
  2084.     uae_u32 srcreg = (opcode & 7);
  2085. {{    m68k_areg(regs, srcreg) -= areg_byteinc[srcreg];
  2086. {    uaecptr srca = m68k_areg(regs, srcreg);
  2087.     uae_s8 src = get_byte(srca);
  2088.     VFLG = CFLG = 0;
  2089.     ZFLG = ((uae_s8)(src)) == 0;
  2090.     NFLG = ((uae_s8)(src)) < 0;
  2091. }}}}
  2092. void REGPARAM2 CPU_OP_NAME(_4a28)(uae_u32 opcode) /* TST */
  2093. {
  2094.     uae_u32 srcreg = (opcode & 7);
  2095. {{    uaecptr srca = m68k_areg(regs, srcreg) + (uae_s32)(uae_s16)nextiword();
  2096.     uae_s8 src = get_byte(srca);
  2097.     VFLG = CFLG = 0;
  2098.     ZFLG = ((uae_s8)(src)) == 0;
  2099.     NFLG = ((uae_s8)(src)) < 0;
  2100. }}}
  2101. void REGPARAM2 CPU_OP_NAME(_4a30)(uae_u32 opcode) /* TST */
  2102. {
  2103.     uae_u32 srcreg = (opcode & 7);
  2104. {{    uaecptr srca = get_disp_ea(m68k_areg(regs, srcreg));
  2105. {    uae_s8 src = get_byte(srca);
  2106.     VFLG = CFLG = 0;
  2107.     ZFLG = ((uae_s8)(src)) == 0;
  2108.     NFLG = ((uae_s8)(src)) < 0;
  2109. }}}}
  2110. void REGPARAM2 CPU_OP_NAME(_4a38)(uae_u32 opcode) /* TST */
  2111. {
  2112. {{    uaecptr srca = (uae_s32)(uae_s16)nextiword();
  2113.     uae_s8 src = get_byte(srca);
  2114.     VFLG = CFLG = 0;
  2115.     ZFLG = ((uae_s8)(src)) == 0;
  2116.     NFLG = ((uae_s8)(src)) < 0;
  2117. }}}
  2118. void REGPARAM2 CPU_OP_NAME(_4a39)(uae_u32 opcode) /* TST */
  2119. {
  2120. {{    uaecptr srca = nextilong();
  2121.     uae_s8 src = get_byte(srca);
  2122.     VFLG = CFLG = 0;
  2123.     ZFLG = ((uae_s8)(src)) == 0;
  2124.     NFLG = ((uae_s8)(src)) < 0;
  2125. }}}
  2126. void REGPARAM2 CPU_OP_NAME(_4a3a)(uae_u32 opcode) /* TST */
  2127. {
  2128. {{    uaecptr srca = m68k_getpc();
  2129.     srca += (uae_s32)(uae_s16)nextiword();
  2130. {    uae_s8 src = get_byte(srca);
  2131.     VFLG = CFLG = 0;
  2132.     ZFLG = ((uae_s8)(src)) == 0;
  2133.     NFLG = ((uae_s8)(src)) < 0;
  2134. }}}}
  2135. void REGPARAM2 CPU_OP_NAME(_4a3b)(uae_u32 opcode) /* TST */
  2136. {
  2137. {{    uaecptr srca = get_disp_ea(m68k_getpc());
  2138. {    uae_s8 src = get_byte(srca);
  2139.     VFLG = CFLG = 0;
  2140.     ZFLG = ((uae_s8)(src)) == 0;
  2141.     NFLG = ((uae_s8)(src)) < 0;
  2142. }}}}
  2143. void REGPARAM2 CPU_OP_NAME(_4a3c)(uae_u32 opcode) /* TST */
  2144. {
  2145. {{    uae_s8 src = nextibyte();
  2146.     VFLG = CFLG = 0;
  2147.     ZFLG = ((uae_s8)(src)) == 0;
  2148.     NFLG = ((uae_s8)(src)) < 0;
  2149. }}}
  2150. void REGPARAM2 CPU_OP_NAME(_4a40)(uae_u32 opcode) /* TST */
  2151. {
  2152.     uae_u32 srcreg = (opcode & 7);
  2153. {{    uae_s16 src = m68k_dreg(regs, srcreg);
  2154.     VFLG = CFLG = 0;
  2155.     ZFLG = ((uae_s16)(src)) == 0;
  2156.     NFLG = ((uae_s16)(src)) < 0;
  2157. }}}
  2158. void REGPARAM2 CPU_OP_NAME(_4a48)(uae_u32 opcode) /* TST */
  2159. {
  2160.     uae_u32 srcreg = (opcode & 7);
  2161. {{    uae_s16 src = m68k_areg(regs, srcreg);
  2162.     VFLG = CFLG = 0;
  2163.     ZFLG = ((uae_s16)(src)) == 0;
  2164.     NFLG = ((uae_s16)(src)) < 0;
  2165. }}}
  2166. void REGPARAM2 CPU_OP_NAME(_4a50)(uae_u32 opcode) /* TST */
  2167. {
  2168.     uae_u32 srcreg = (opcode & 7);
  2169. {{    uaecptr srca = m68k_areg(regs, srcreg);
  2170.     uae_s16 src = get_word(srca);
  2171.     VFLG = CFLG = 0;
  2172.     ZFLG = ((uae_s16)(src)) == 0;
  2173.     NFLG = ((uae_s16)(src)) < 0;
  2174. }}}
  2175. void REGPARAM2 CPU_OP_NAME(_4a58)(uae_u32 opcode) /* TST */
  2176. {
  2177.     uae_u32 srcreg = (opcode & 7);
  2178. {{    uaecptr srca = m68k_areg(regs, srcreg);
  2179.     uae_s16 src = get_word(srca);
  2180. {    m68k_areg(regs, srcreg) += 2;
  2181.     VFLG = CFLG = 0;
  2182.     ZFLG = ((uae_s16)(src)) == 0;
  2183.     NFLG = ((uae_s16)(src)) < 0;
  2184. }}}}
  2185. void REGPARAM2 CPU_OP_NAME(_4a60)(uae_u32 opcode) /* TST */
  2186. {
  2187.     uae_u32 srcreg = (opcode & 7);
  2188. {{    m68k_areg(regs, srcreg) -= 2;
  2189. {    uaecptr srca = m68k_areg(regs, srcreg);
  2190.     uae_s16 src = get_word(srca);
  2191.     VFLG = CFLG = 0;
  2192.     ZFLG = ((uae_s16)(src)) == 0;
  2193.     NFLG = ((uae_s16)(src)) < 0;
  2194. }}}}
  2195. void REGPARAM2 CPU_OP_NAME(_4a68)(uae_u32 opcode) /* TST */
  2196. {
  2197.     uae_u32 srcreg = (opcode & 7);
  2198. {{    uaecptr srca = m68k_areg(regs, srcreg) + (uae_s32)(uae_s16)nextiword();
  2199.     uae_s16 src = get_word(srca);
  2200.     VFLG = CFLG = 0;
  2201.     ZFLG = ((uae_s16)(src)) == 0;
  2202.     NFLG = ((uae_s16)(src)) < 0;
  2203. }}}
  2204. void REGPARAM2 CPU_OP_NAME(_4a70)(uae_u32 opcode) /* TST */
  2205. {
  2206.     uae_u32 srcreg = (opcode & 7);
  2207. {{    uaecptr srca = get_disp_ea(m68k_areg(regs, srcreg));
  2208. {    uae_s16 src = get_word(srca);
  2209.     VFLG = CFLG = 0;
  2210.     ZFLG = ((uae_s16)(src)) == 0;
  2211.     NFLG = ((uae_s16)(src)) < 0;
  2212. }}}}
  2213. void REGPARAM2 CPU_OP_NAME(_4a78)(uae_u32 opcode) /* TST */
  2214. {
  2215. {{    uaecptr srca = (uae_s32)(uae_s16)nextiword();
  2216.     uae_s16 src = get_word(srca);
  2217.     VFLG = CFLG = 0;
  2218.     ZFLG = ((uae_s16)(src)) == 0;
  2219.     NFLG = ((uae_s16)(src)) < 0;
  2220. }}}
  2221. void REGPARAM2 CPU_OP_NAME(_4a79)(uae_u32 opcode) /* TST */
  2222. {
  2223. {{    uaecptr srca = nextilong();
  2224.     uae_s16 src = get_word(srca);
  2225.     VFLG = CFLG = 0;
  2226.     ZFLG = ((uae_s16)(src)) == 0;
  2227.     NFLG = ((uae_s16)(src)) < 0;
  2228. }}}
  2229. void REGPARAM2 CPU_OP_NAME(_4a7a)(uae_u32 opcode) /* TST */
  2230. {
  2231. {{    uaecptr srca = m68k_getpc();
  2232.     srca += (uae_s32)(uae_s16)nextiword();
  2233. {    uae_s16 src = get_word(srca);
  2234.     VFLG = CFLG = 0;
  2235.     ZFLG = ((uae_s16)(src)) == 0;
  2236.     NFLG = ((uae_s16)(src)) < 0;
  2237. }}}}
  2238. void REGPARAM2 CPU_OP_NAME(_4a7b)(uae_u32 opcode) /* TST */
  2239. {
  2240. {{    uaecptr srca = get_disp_ea(m68k_getpc());
  2241. {    uae_s16 src = get_word(srca);
  2242.     VFLG = CFLG = 0;
  2243.     ZFLG = ((uae_s16)(src)) == 0;
  2244.     NFLG = ((uae_s16)(src)) < 0;
  2245. }}}}
  2246. void REGPARAM2 CPU_OP_NAME(_4a7c)(uae_u32 opcode) /* TST */
  2247. {
  2248. {{    uae_s16 src = nextiword();
  2249.     VFLG = CFLG = 0;
  2250.     ZFLG = ((uae_s16)(src)) == 0;
  2251.     NFLG = ((uae_s16)(src)) < 0;
  2252. }}}
  2253. void REGPARAM2 CPU_OP_NAME(_4a80)(uae_u32 opcode) /* TST */
  2254. {
  2255.     uae_u32 srcreg = (opcode & 7);
  2256. {{    uae_s32 src = m68k_dreg(regs, srcreg);
  2257.     VFLG = CFLG = 0;
  2258.     ZFLG = ((uae_s32)(src)) == 0;
  2259.     NFLG = ((uae_s32)(src)) < 0;
  2260. }}}
  2261. void REGPARAM2 CPU_OP_NAME(_4a88)(uae_u32 opcode) /* TST */
  2262. {
  2263.     uae_u32 srcreg = (opcode & 7);
  2264. {{    uae_s32 src = m68k_areg(regs, srcreg);
  2265.     VFLG = CFLG = 0;
  2266.     ZFLG = ((uae_s32)(src)) == 0;
  2267.     NFLG = ((uae_s32)(src)) < 0;
  2268. }}}
  2269. void REGPARAM2 CPU_OP_NAME(_4a90)(uae_u32 opcode) /* TST */
  2270. {
  2271.     uae_u32 srcreg = (opcode & 7);
  2272. {{    uaecptr srca = m68k_areg(regs, srcreg);
  2273.     uae_s32 src = get_long(srca);
  2274.     VFLG = CFLG = 0;
  2275.     ZFLG = ((uae_s32)(src)) == 0;
  2276.     NFLG = ((uae_s32)(src)) < 0;
  2277. }}}
  2278. void REGPARAM2 CPU_OP_NAME(_4a98)(uae_u32 opcode) /* TST */
  2279. {
  2280.     uae_u32 srcreg = (opcode & 7);
  2281. {{    uaecptr srca = m68k_areg(regs, srcreg);
  2282.     uae_s32 src = get_long(srca);
  2283. {    m68k_areg(regs, srcreg) += 4;
  2284.     VFLG = CFLG = 0;
  2285.     ZFLG = ((uae_s32)(src)) == 0;
  2286.     NFLG = ((uae_s32)(src)) < 0;
  2287. }}}}
  2288. void REGPARAM2 CPU_OP_NAME(_4aa0)(uae_u32 opcode) /* TST */
  2289. {
  2290.     uae_u32 srcreg = (opcode & 7);
  2291. {{    m68k_areg(regs, srcreg) -= 4;
  2292. {    uaecptr srca = m68k_areg(regs, srcreg);
  2293.     uae_s32 src = get_long(srca);
  2294.     VFLG = CFLG = 0;
  2295.     ZFLG = ((uae_s32)(src)) == 0;
  2296.     NFLG = ((uae_s32)(src)) < 0;
  2297. }}}}
  2298. void REGPARAM2 CPU_OP_NAME(_4aa8)(uae_u32 opcode) /* TST */
  2299. {
  2300.     uae_u32 srcreg = (opcode & 7);
  2301. {{    uaecptr srca = m68k_areg(regs, srcreg) + (uae_s32)(uae_s16)nextiword();
  2302.     uae_s32 src = get_long(srca);
  2303.     VFLG = CFLG = 0;
  2304.     ZFLG = ((uae_s32)(src)) == 0;
  2305.     NFLG = ((uae_s32)(src)) < 0;
  2306. }}}
  2307. void REGPARAM2 CPU_OP_NAME(_4ab0)(uae_u32 opcode) /* TST */
  2308. {
  2309.     uae_u32 srcreg = (opcode & 7);
  2310. {{    uaecptr srca = get_disp_ea(m68k_areg(regs, srcreg));
  2311. {    uae_s32 src = get_long(srca);
  2312.     VFLG = CFLG = 0;
  2313.     ZFLG = ((uae_s32)(src)) == 0;
  2314.     NFLG = ((uae_s32)(src)) < 0;
  2315. }}}}
  2316. void REGPARAM2 CPU_OP_NAME(_4ab8)(uae_u32 opcode) /* TST */
  2317. {
  2318. {{    uaecptr srca = (uae_s32)(uae_s16)nextiword();
  2319.     uae_s32 src = get_long(srca);
  2320.     VFLG = CFLG = 0;
  2321.     ZFLG = ((uae_s32)(src)) == 0;
  2322.     NFLG = ((uae_s32)(src)) < 0;
  2323. }}}
  2324. void REGPARAM2 CPU_OP_NAME(_4ab9)(uae_u32 opcode) /* TST */
  2325. {
  2326. {{    uaecptr srca = nextilong();
  2327.     uae_s32 src = get_long(srca);
  2328.     VFLG = CFLG = 0;
  2329.     ZFLG = ((uae_s32)(src)) == 0;
  2330.     NFLG = ((uae_s32)(src)) < 0;
  2331. }}}
  2332. void REGPARAM2 CPU_OP_NAME(_4aba)(uae_u32 opcode) /* TST */
  2333. {
  2334. {{    uaecptr srca = m68k_getpc();
  2335.     srca += (uae_s32)(uae_s16)nextiword();
  2336. {    uae_s32 src = get_long(srca);
  2337.     VFLG = CFLG = 0;
  2338.     ZFLG = ((uae_s32)(src)) == 0;
  2339.     NFLG = ((uae_s32)(src)) < 0;
  2340. }}}}
  2341. void REGPARAM2 CPU_OP_NAME(_4abb)(uae_u32 opcode) /* TST */
  2342. {
  2343. {{    uaecptr srca = get_disp_ea(m68k_getpc());
  2344. {    uae_s32 src = get_long(srca);
  2345.     VFLG = CFLG = 0;
  2346.     ZFLG = ((uae_s32)(src)) == 0;
  2347.     NFLG = ((uae_s32)(src)) < 0;
  2348. }}}}
  2349. void REGPARAM2 CPU_OP_NAME(_4abc)(uae_u32 opcode) /* TST */
  2350. {
  2351. {{    uae_s32 src = nextilong();
  2352.     VFLG = CFLG = 0;
  2353.     ZFLG = ((uae_s32)(src)) == 0;
  2354.     NFLG = ((uae_s32)(src)) < 0;
  2355. }}}
  2356. void REGPARAM2 CPU_OP_NAME(_4ac0)(uae_u32 opcode) /* TAS */
  2357. {
  2358.     uae_u32 srcreg = (opcode & 7);
  2359. {{    uae_s8 src = m68k_dreg(regs, srcreg);
  2360.     VFLG = CFLG = 0;
  2361.     ZFLG = ((uae_s8)(src)) == 0;
  2362.     NFLG = ((uae_s8)(src)) < 0;
  2363.     src |= 0x80;
  2364.     m68k_dreg(regs, srcreg) = (m68k_dreg(regs, srcreg) & ~0xff) | ((src) & 0xff);
  2365. }}}
  2366. void REGPARAM2 CPU_OP_NAME(_4ad0)(uae_u32 opcode) /* TAS */
  2367. {
  2368.     uae_u32 srcreg = (opcode & 7);
  2369. {{    uaecptr srca = m68k_areg(regs, srcreg);
  2370.     uae_s8 src = get_byte(srca);
  2371.     VFLG = CFLG = 0;
  2372.     ZFLG = ((uae_s8)(src)) == 0;
  2373.     NFLG = ((uae_s8)(src)) < 0;
  2374.     src |= 0x80;
  2375.     put_byte(srca,src);
  2376. }}}
  2377. void REGPARAM2 CPU_OP_NAME(_4ad8)(uae_u32 opcode) /* TAS */
  2378. {
  2379.     uae_u32 srcreg = (opcode & 7);
  2380. {{    uaecptr srca = m68k_areg(regs, srcreg);
  2381.     uae_s8 src = get_byte(srca);
  2382. {    m68k_areg(regs, srcreg) += areg_byteinc[srcreg];
  2383.     VFLG = CFLG = 0;
  2384.     ZFLG = ((uae_s8)(src)) == 0;
  2385.     NFLG = ((uae_s8)(src)) < 0;
  2386.     src |= 0x80;
  2387.     put_byte(srca,src);
  2388. }}}}
  2389. void REGPARAM2 CPU_OP_NAME(_4ae0)(uae_u32 opcode) /* TAS */
  2390. {
  2391.     uae_u32 srcreg = (opcode & 7);
  2392. {{    m68k_areg(regs, srcreg) -= areg_byteinc[srcreg];
  2393. {    uaecptr srca = m68k_areg(regs, srcreg);
  2394.     uae_s8 src = get_byte(srca);
  2395.     VFLG = CFLG = 0;
  2396.     ZFLG = ((uae_s8)(src)) == 0;
  2397.     NFLG = ((uae_s8)(src)) < 0;
  2398.     src |= 0x80;
  2399.     put_byte(srca,src);
  2400. }}}}
  2401. void REGPARAM2 CPU_OP_NAME(_4ae8)(uae_u32 opcode) /* TAS */
  2402. {
  2403.     uae_u32 srcreg = (opcode & 7);
  2404. {{    uaecptr srca = m68k_areg(regs, srcreg) + (uae_s32)(uae_s16)nextiword();
  2405.     uae_s8 src = get_byte(srca);
  2406.     VFLG = CFLG = 0;
  2407.     ZFLG = ((uae_s8)(src)) == 0;
  2408.     NFLG = ((uae_s8)(src)) < 0;
  2409.     src |= 0x80;
  2410.     put_byte(srca,src);
  2411. }}}
  2412. void REGPARAM2 CPU_OP_NAME(_4af0)(uae_u32 opcode) /* TAS */
  2413. {
  2414.     uae_u32 srcreg = (opcode & 7);
  2415. {{    uaecptr srca = get_disp_ea(m68k_areg(regs, srcreg));
  2416. {    uae_s8 src = get_byte(srca);
  2417.     VFLG = CFLG = 0;
  2418.     ZFLG = ((uae_s8)(src)) == 0;
  2419.     NFLG = ((uae_s8)(src)) < 0;
  2420.     src |= 0x80;
  2421.     put_byte(srca,src);
  2422. }}}}
  2423. void REGPARAM2 CPU_OP_NAME(_4af8)(uae_u32 opcode) /* TAS */
  2424. {
  2425. {{    uaecptr srca = (uae_s32)(uae_s16)nextiword();
  2426.     uae_s8 src = get_byte(srca);
  2427.     VFLG = CFLG = 0;
  2428.     ZFLG = ((uae_s8)(src)) == 0;
  2429.     NFLG = ((uae_s8)(src)) < 0;
  2430.     src |= 0x80;
  2431.     put_byte(srca,src);
  2432. }}}
  2433. void REGPARAM2 CPU_OP_NAME(_4af9)(uae_u32 opcode) /* TAS */
  2434. {
  2435. {{    uaecptr srca = nextilong();
  2436.     uae_s8 src = get_byte(srca);
  2437.     VFLG = CFLG = 0;
  2438.     ZFLG = ((uae_s8)(src)) == 0;
  2439.     NFLG = ((uae_s8)(src)) < 0;
  2440.     src |= 0x80;
  2441.     put_byte(srca,src);
  2442. }}}
  2443. void REGPARAM2 CPU_OP_NAME(_4c90)(uae_u32 opcode) /* MVMEL */
  2444. {
  2445.     uae_u32 dstreg = opcode & 7;
  2446. {    uae_u16 mask = nextiword(), dmask = mask & 0xff, amask = (mask >> 8) & 0xff;
  2447. {    uaecptr srca = m68k_areg(regs, dstreg);
  2448. {    while (dmask) { m68k_dreg(regs, movem_index1[dmask]) = (uae_s32)(uae_s16)get_word(srca); srca += 2; dmask = movem_next[dmask]; }
  2449.     while (amask) { m68k_areg(regs, movem_index1[amask]) = (uae_s32)(uae_s16)get_word(srca); srca += 2; amask = movem_next[amask]; }
  2450. }}}}
  2451. void REGPARAM2 CPU_OP_NAME(_4c98)(uae_u32 opcode) /* MVMEL */
  2452. {
  2453.     uae_u32 dstreg = opcode & 7;
  2454. {    uae_u16 mask = nextiword(), dmask = mask & 0xff, amask = (mask >> 8) & 0xff;
  2455. {    uaecptr srca = m68k_areg(regs, dstreg);
  2456. {    while (dmask) { m68k_dreg(regs, movem_index1[dmask]) = (uae_s32)(uae_s16)get_word(srca); srca += 2; dmask = movem_next[dmask]; }
  2457.     while (amask) { m68k_areg(regs, movem_index1[amask]) = (uae_s32)(uae_s16)get_word(srca); srca += 2; amask = movem_next[amask]; }
  2458.     m68k_areg(regs, dstreg) = srca;
  2459. }}}}
  2460. void REGPARAM2 CPU_OP_NAME(_4ca8)(uae_u32 opcode) /* MVMEL */
  2461. {
  2462.     uae_u32 dstreg = opcode & 7;
  2463. {    uae_u16 mask = nextiword(), dmask = mask & 0xff, amask = (mask >> 8) & 0xff;
  2464. {    uaecptr srca = m68k_areg(regs, dstreg) + (uae_s32)(uae_s16)nextiword();
  2465. {    while (dmask) { m68k_dreg(regs, movem_index1[dmask]) = (uae_s32)(uae_s16)get_word(srca); srca += 2; dmask = movem_next[dmask]; }
  2466.     while (amask) { m68k_areg(regs, movem_index1[amask]) = (uae_s32)(uae_s16)get_word(srca); srca += 2; amask = movem_next[amask]; }
  2467. }}}}
  2468. void REGPARAM2 CPU_OP_NAME(_4cb0)(uae_u32 opcode) /* MVMEL */
  2469. {
  2470.     uae_u32 dstreg = opcode & 7;
  2471. {    uae_u16 mask = nextiword(), dmask = mask & 0xff, amask = (mask >> 8) & 0xff;
  2472. {    uaecptr srca = get_disp_ea(m68k_areg(regs, dstreg));
  2473. {    while (dmask) { m68k_dreg(regs, movem_index1[dmask]) = (uae_s32)(uae_s16)get_word(srca); srca += 2; dmask = movem_next[dmask]; }
  2474.     while (amask) { m68k_areg(regs, movem_index1[amask]) = (uae_s32)(uae_s16)get_word(srca); srca += 2; amask = movem_next[amask]; }
  2475. }}}}
  2476. void REGPARAM2 CPU_OP_NAME(_4cb8)(uae_u32 opcode) /* MVMEL */
  2477. {
  2478. {    uae_u16 mask = nextiword(), dmask = mask & 0xff, amask = (mask >> 8) & 0xff;
  2479. {    uaecptr srca = (uae_s32)(uae_s16)nextiword();
  2480. {    while (dmask) { m68k_dreg(regs, movem_index1[dmask]) = (uae_s32)(uae_s16)get_word(srca); srca += 2; dmask = movem_next[dmask]; }
  2481.     while (amask) { m68k_areg(regs, movem_index1[amask]) = (uae_s32)(uae_s16)get_word(srca); srca += 2; amask = movem_next[amask]; }
  2482. }}}}
  2483. void REGPARAM2 CPU_OP_NAME(_4cb9)(uae_u32 opcode) /* MVMEL */
  2484. {
  2485. {    uae_u16 mask = nextiword(), dmask = mask & 0xff, amask = (mask >> 8) & 0xff;
  2486. {    uaecptr srca = nextilong();
  2487. {    while (dmask) { m68k_dreg(regs, movem_index1[dmask]) = (uae_s32)(uae_s16)get_word(srca); srca += 2; dmask = movem_next[dmask]; }
  2488.     while (amask) { m68k_areg(regs, movem_index1[amask]) = (uae_s32)(uae_s16)get_word(srca); srca += 2; amask = movem_next[amask]; }
  2489. }}}}
  2490. void REGPARAM2 CPU_OP_NAME(_4cba)(uae_u32 opcode) /* MVMEL */
  2491. {
  2492.     uae_u32 dstreg = 2;
  2493. {    uae_u16 mask = nextiword(), dmask = mask & 0xff, amask = (mask >> 8) & 0xff;
  2494. {    uaecptr srca = m68k_getpc();
  2495.     srca += (uae_s32)(uae_s16)nextiword();
  2496. {    while (dmask) { m68k_dreg(regs, movem_index1[dmask]) = (uae_s32)(uae_s16)get_word(srca); srca += 2; dmask = movem_next[dmask]; }
  2497.     while (amask) { m68k_areg(regs, movem_index1[amask]) = (uae_s32)(uae_s16)get_word(srca); srca += 2; amask = movem_next[amask]; }
  2498. }}}}
  2499. void REGPARAM2 CPU_OP_NAME(_4cbb)(uae_u32 opcode) /* MVMEL */
  2500. {
  2501.     uae_u32 dstreg = 3;
  2502. {    uae_u16 mask = nextiword(), dmask = mask & 0xff, amask = (mask >> 8) & 0xff;
  2503. {    uaecptr srca = get_disp_ea(m68k_getpc());
  2504. {    while (dmask) { m68k_dreg(regs, movem_index1[dmask]) = (uae_s32)(uae_s16)get_word(srca); srca += 2; dmask = movem_next[dmask]; }
  2505.     while (amask) { m68k_areg(regs, movem_index1[amask]) = (uae_s32)(uae_s16)get_word(srca); srca += 2; amask = movem_next[amask]; }
  2506. }}}}
  2507. void REGPARAM2 CPU_OP_NAME(_4cd0)(uae_u32 opcode) /* MVMEL */
  2508. {
  2509.     uae_u32 dstreg = opcode & 7;
  2510. {    uae_u16 mask = nextiword(), dmask = mask & 0xff, amask = (mask >> 8) & 0xff;
  2511. {    uaecptr srca = m68k_areg(regs, dstreg);
  2512. {    while (dmask) { m68k_dreg(regs, movem_index1[dmask]) = get_long(srca); srca += 4; dmask = movem_next[dmask]; }
  2513.     while (amask) { m68k_areg(regs, movem_index1[amask]) = get_long(srca); srca += 4; amask = movem_next[amask]; }
  2514. }}}}
  2515. void REGPARAM2 CPU_OP_NAME(_4cd8)(uae_u32 opcode) /* MVMEL */
  2516. {
  2517.     uae_u32 dstreg = opcode & 7;
  2518. {    uae_u16 mask = nextiword(), dmask = mask & 0xff, amask = (mask >> 8) & 0xff;
  2519. {    uaecptr srca = m68k_areg(regs, dstreg);
  2520. {    while (dmask) { m68k_dreg(regs, movem_index1[dmask]) = get_long(srca); srca += 4; dmask = movem_next[dmask]; }
  2521.     while (amask) { m68k_areg(regs, movem_index1[amask]) = get_long(srca); srca += 4; amask = movem_next[amask]; }
  2522.     m68k_areg(regs, dstreg) = srca;
  2523. }}}}
  2524. void REGPARAM2 CPU_OP_NAME(_4ce8)(uae_u32 opcode) /* MVMEL */
  2525. {
  2526.     uae_u32 dstreg = opcode & 7;
  2527. {    uae_u16 mask = nextiword(), dmask = mask & 0xff, amask = (mask >> 8) & 0xff;
  2528. {    uaecptr srca = m68k_areg(regs, dstreg) + (uae_s32)(uae_s16)nextiword();
  2529. {    while (dmask) { m68k_dreg(regs, movem_index1[dmask]) = get_long(srca); srca += 4; dmask = movem_next[dmask]; }
  2530.     while (amask) { m68k_areg(regs, movem_index1[amask]) = get_long(srca); srca += 4; amask = movem_next[amask]; }
  2531. }}}}
  2532. void REGPARAM2 CPU_OP_NAME(_4cf0)(uae_u32 opcode) /* MVMEL */
  2533. {
  2534.     uae_u32 dstreg = opcode & 7;
  2535. {    uae_u16 mask = nextiword(), dmask = mask & 0xff, amask = (mask >> 8) & 0xff;
  2536. {    uaecptr srca = get_disp_ea(m68k_areg(regs, dstreg));
  2537. {    while (dmask) { m68k_dreg(regs, movem_index1[dmask]) = get_long(srca); srca += 4; dmask = movem_next[dmask]; }
  2538.     while (amask) { m68k_areg(regs, movem_index1[amask]) = get_long(srca); srca += 4; amask = movem_next[amask]; }
  2539. }}}}
  2540. void REGPARAM2 CPU_OP_NAME(_4cf8)(uae_u32 opcode) /* MVMEL */
  2541. {
  2542. {    uae_u16 mask = nextiword(), dmask = mask & 0xff, amask = (mask >> 8) & 0xff;
  2543. {    uaecptr srca = (uae_s32)(uae_s16)nextiword();
  2544. {    while (dmask) { m68k_dreg(regs, movem_index1[dmask]) = get_long(srca); srca += 4; dmask = movem_next[dmask]; }
  2545.     while (amask) { m68k_areg(regs, movem_index1[amask]) = get_long(srca); srca += 4; amask = movem_next[amask]; }
  2546. }}}}
  2547. void REGPARAM2 CPU_OP_NAME(_4cf9)(uae_u32 opcode) /* MVMEL */
  2548. {
  2549. {    uae_u16 mask = nextiword(), dmask = mask & 0xff, amask = (mask >> 8) & 0xff;
  2550. {    uaecptr srca = nextilong();
  2551. {    while (dmask) { m68k_dreg(regs, movem_index1[dmask]) = get_long(srca); srca += 4; dmask = movem_next[dmask]; }
  2552.     while (amask) { m68k_areg(regs, movem_index1[amask]) = get_long(srca); srca += 4; amask = movem_next[amask]; }
  2553. }}}}
  2554. void REGPARAM2 CPU_OP_NAME(_4cfa)(uae_u32 opcode) /* MVMEL */
  2555. {
  2556.     uae_u32 dstreg = 2;
  2557. {    uae_u16 mask = nextiword(), dmask = mask & 0xff, amask = (mask >> 8) & 0xff;
  2558. {    uaecptr srca = m68k_getpc();
  2559.     srca += (uae_s32)(uae_s16)nextiword();
  2560. {    while (dmask) { m68k_dreg(regs, movem_index1[dmask]) = get_long(srca); srca += 4; dmask = movem_next[dmask]; }
  2561.     while (amask) { m68k_areg(regs, movem_index1[amask]) = get_long(srca); srca += 4; amask = movem_next[amask]; }
  2562. }}}}
  2563. void REGPARAM2 CPU_OP_NAME(_4cfb)(uae_u32 opcode) /* MVMEL */
  2564. {
  2565.     uae_u32 dstreg = 3;
  2566. {    uae_u16 mask = nextiword(), dmask = mask & 0xff, amask = (mask >> 8) & 0xff;
  2567. {    uaecptr srca = get_disp_ea(m68k_getpc());
  2568. {    while (dmask) { m68k_dreg(regs, movem_index1[dmask]) = get_long(srca); srca += 4; dmask = movem_next[dmask]; }
  2569.     while (amask) { m68k_areg(regs, movem_index1[amask]) = get_long(srca); srca += 4; amask = movem_next[amask]; }
  2570. }}}}
  2571. void REGPARAM2 CPU_OP_NAME(_4e40)(uae_u32 opcode) /* TRAP */
  2572. {
  2573.     uae_u32 srcreg = (opcode & 15);
  2574. {{    uae_u32 src = srcreg;
  2575.     Exception(src+32,0);
  2576. }}}
  2577. void REGPARAM2 CPU_OP_NAME(_4e50)(uae_u32 opcode) /* LINK */
  2578. {
  2579.     uae_u32 srcreg = (opcode & 7);
  2580. {{    m68k_areg(regs, 7) -= 4;
  2581. {    uaecptr olda = m68k_areg(regs, 7);
  2582. {    uae_s32 src = m68k_areg(regs, srcreg);
  2583.     put_long(olda,src);
  2584.     m68k_areg(regs, srcreg) = (m68k_areg(regs, 7));
  2585. {    uae_s16 offs = nextiword();
  2586.     m68k_areg(regs, 7) += offs;
  2587. }}}}}}
  2588. void REGPARAM2 CPU_OP_NAME(_4e58)(uae_u32 opcode) /* UNLK */
  2589. {
  2590.     uae_u32 srcreg = (opcode & 7);
  2591. {{    uae_s32 src = m68k_areg(regs, srcreg);
  2592.     m68k_areg(regs, 7) = src;
  2593. {    uaecptr olda = m68k_areg(regs, 7);
  2594.     uae_s32 old = get_long(olda);
  2595. {    m68k_areg(regs, 7) += 4;
  2596.     m68k_areg(regs, srcreg) = (old);
  2597. }}}}}
  2598. void REGPARAM2 CPU_OP_NAME(_4e60)(uae_u32 opcode) /* MVR2USP */
  2599. {
  2600.     uae_u32 srcreg = (opcode & 7);
  2601. {if (!regs.s) { regs.pc_p -= 2; Exception(8,0); } else
  2602. {{    uae_s32 src = m68k_areg(regs, srcreg);
  2603.     regs.usp = src;
  2604. }}}}
  2605. void REGPARAM2 CPU_OP_NAME(_4e68)(uae_u32 opcode) /* MVUSP2R */
  2606. {
  2607.     uae_u32 srcreg = (opcode & 7);
  2608. {if (!regs.s) { regs.pc_p -= 2; Exception(8,0); } else
  2609. {{    m68k_areg(regs, srcreg) = (regs.usp);
  2610. }}}}
  2611. void REGPARAM2 CPU_OP_NAME(_4e70)(uae_u32 opcode) /* RESET */
  2612. {
  2613. {if (!regs.s) { regs.pc_p -= 2; Exception(8,0); } else
  2614. {    customreset();
  2615. }}}
  2616. void REGPARAM2 CPU_OP_NAME(_4e71)(uae_u32 opcode) /* NOP */
  2617. {
  2618. {}}
  2619. void REGPARAM2 CPU_OP_NAME(_4e72)(uae_u32 opcode) /* STOP */
  2620. {
  2621. {if (!regs.s) { regs.pc_p -= 2; Exception(8,0); } else
  2622. {{    uae_s16 src = nextiword();
  2623.     regs.sr = src;
  2624.     MakeFromSR();
  2625.     m68k_setstopped(1);
  2626. }}}}
  2627. void REGPARAM2 CPU_OP_NAME(_4e73)(uae_u32 opcode) /* RTE */
  2628. {
  2629. {if (!regs.s) { regs.pc_p -= 2; Exception(8,0); } else
  2630. {{    uaecptr sra = m68k_areg(regs, 7);
  2631.     uae_s16 sr = get_word(sra);
  2632. {    m68k_areg(regs, 7) += 2;
  2633. {    uaecptr pca = m68k_areg(regs, 7);
  2634.     uae_s32 pc = get_long(pca);
  2635. {    m68k_areg(regs, 7) += 4;
  2636.     regs.sr = sr; m68k_setpc_rte(pc);
  2637.     MakeFromSR();
  2638. }}}}}}}
  2639. void REGPARAM2 CPU_OP_NAME(_4e74)(uae_u32 opcode) /* RTD */
  2640. {
  2641. {    compiler_flush_jsr_stack();
  2642. {    uaecptr pca = m68k_areg(regs, 7);
  2643.     uae_s32 pc = get_long(pca);
  2644. {    m68k_areg(regs, 7) += 4;
  2645. {    uae_s16 offs = nextiword();
  2646.     m68k_areg(regs, 7) += offs;
  2647.     m68k_setpc_rte(pc);
  2648. }}}}}
  2649. void REGPARAM2 CPU_OP_NAME(_4e75)(uae_u32 opcode) /* RTS */
  2650. {
  2651. {    m68k_do_rts();
  2652. }}
  2653. void REGPARAM2 CPU_OP_NAME(_4e76)(uae_u32 opcode) /* TRAPV */
  2654. {
  2655. {    if(VFLG) Exception(7,m68k_getpc()-2);
  2656. }}
  2657. void REGPARAM2 CPU_OP_NAME(_4e77)(uae_u32 opcode) /* RTR */
  2658. {
  2659. {    compiler_flush_jsr_stack();
  2660.     MakeSR();
  2661. {    uaecptr sra = m68k_areg(regs, 7);
  2662.     uae_s16 sr = get_word(sra);
  2663. {    m68k_areg(regs, 7) += 2;
  2664. {    uaecptr pca = m68k_areg(regs, 7);
  2665.     uae_s32 pc = get_long(pca);
  2666. {    m68k_areg(regs, 7) += 4;
  2667.     regs.sr &= 0xFF00; sr &= 0xFF;
  2668.     regs.sr |= sr; m68k_setpc(pc);
  2669.     MakeFromSR();
  2670. }}}}}}
  2671. void REGPARAM2 CPU_OP_NAME(_4e90)(uae_u32 opcode) /* JSR */
  2672. {
  2673.     uae_u32 srcreg = (opcode & 7);
  2674. {{    uaecptr srca = m68k_areg(regs, srcreg);
  2675.     m68k_do_jsr(srca);
  2676. }}}
  2677. void REGPARAM2 CPU_OP_NAME(_4ea8)(uae_u32 opcode) /* JSR */
  2678. {
  2679.     uae_u32 srcreg = (opcode & 7);
  2680. {{    uaecptr srca = m68k_areg(regs, srcreg) + (uae_s32)(uae_s16)nextiword();
  2681.     m68k_do_jsr(srca);
  2682. }}}
  2683. void REGPARAM2 CPU_OP_NAME(_4eb0)(uae_u32 opcode) /* JSR */
  2684. {
  2685.     uae_u32 srcreg = (opcode & 7);
  2686. {{    uaecptr srca = get_disp_ea(m68k_areg(regs, srcreg));
  2687.     m68k_do_jsr(srca);
  2688. }}}
  2689. void REGPARAM2 CPU_OP_NAME(_4eb8)(uae_u32 opcode) /* JSR */
  2690. {
  2691. {{    uaecptr srca = (uae_s32)(uae_s16)nextiword();
  2692.     m68k_do_jsr(srca);
  2693. }}}
  2694. void REGPARAM2 CPU_OP_NAME(_4eb9)(uae_u32 opcode) /* JSR */
  2695. {
  2696. {{    uaecptr srca = nextilong();
  2697.     m68k_do_jsr(srca);
  2698. }}}
  2699. void REGPARAM2 CPU_OP_NAME(_4eba)(uae_u32 opcode) /* JSR */
  2700. {
  2701. {{    uaecptr srca = m68k_getpc();
  2702.     srca += (uae_s32)(uae_s16)nextiword();
  2703.     m68k_do_jsr(srca);
  2704. }}}
  2705. void REGPARAM2 CPU_OP_NAME(_4ebb)(uae_u32 opcode) /* JSR */
  2706. {
  2707. {{    uaecptr srca = get_disp_ea(m68k_getpc());
  2708.     m68k_do_jsr(srca);
  2709. }}}
  2710. void REGPARAM2 CPU_OP_NAME(_4ed0)(uae_u32 opcode) /* JMP */
  2711. {
  2712.     uae_u32 srcreg = (opcode & 7);
  2713. {{    uaecptr srca = m68k_areg(regs, srcreg);
  2714.     m68k_setpc(srca);
  2715. }}}
  2716. void REGPARAM2 CPU_OP_NAME(_4ee8)(uae_u32 opcode) /* JMP */
  2717. {
  2718.     uae_u32 srcreg = (opcode & 7);
  2719. {{    uaecptr srca = m68k_areg(regs, srcreg) + (uae_s32)(uae_s16)nextiword();
  2720.     m68k_setpc(srca);
  2721. }}}
  2722. void REGPARAM2 CPU_OP_NAME(_4ef0)(uae_u32 opcode) /* JMP */
  2723. {
  2724.     uae_u32 srcreg = (opcode & 7);
  2725. {{    uaecptr srca = get_disp_ea(m68k_areg(regs, srcreg));
  2726.     m68k_setpc(srca);
  2727. }}}
  2728. void REGPARAM2 CPU_OP_NAME(_4ef8)(uae_u32 opcode) /* JMP */
  2729. {
  2730. {{    uaecptr srca = (uae_s32)(uae_s16)nextiword();
  2731.     m68k_setpc(srca);
  2732. }}}
  2733. void REGPARAM2 CPU_OP_NAME(_4ef9)(uae_u32 opcode) /* JMP */
  2734. {
  2735. {{    uaecptr srca = nextilong();
  2736.     m68k_setpc(srca);
  2737. }}}
  2738. void REGPARAM2 CPU_OP_NAME(_4efa)(uae_u32 opcode) /* JMP */
  2739. {
  2740. {{    uaecptr srca = m68k_getpc();
  2741.     srca += (uae_s32)(uae_s16)nextiword();
  2742.     m68k_setpc(srca);
  2743. }}}
  2744. void REGPARAM2 CPU_OP_NAME(_4efb)(uae_u32 opcode) /* JMP */
  2745. {
  2746. {{    uaecptr srca = get_disp_ea(m68k_getpc());
  2747.     m68k_setpc(srca);
  2748. }}}
  2749. #endif
  2750.